2018.10.16python学习第二十天

常用模块

random 模块

? 随机数生成模块

? random.random() 0-1 不包括1的随机浮点数

? random.randint(1,10) 1-10 包括1和10的整数

? random.randrange(1,10) 1-10 包括1,但是不包括10的整数

? random.choice(list) list 从list中随机取出一个数

? random.choices(list,k=个数) list 从list中随机取出k个数

? random.sample(list,k) list 从list中随机取出k个数

? random.uniform(1,3) 1-3 不包括1和3,的随机浮点数

? ls=[1,2,3,4,5]

? random.shuffle[ls] list 将ls的顺序随机打乱

? print(ls)

? random的应用之随机验证码:包括0-9,A-Z,a-z

def verification_code(length):
    res=‘‘
    for i in range(length):
        a=random.randint(0,9)
        b=chr(random.randint(65.90))
        c=chr(random.randint(97,122))
        s=random.choice([a,b,c])
        res+=str(s)
    return res

print(verification_code(6))
sys模块

? sys.path 环境变量

? sys.modules 查看已经加载的模块

? sys.argv 命令行参数List,第一个元素是程序本身路径

? sys.exit(n) 退出程序,正常退出时exit(0)

? sys.version 获取python解释器程序的版本信息

? sys.maxint 最大的Int值

? sys.platform 返回操作系统平台名称

os模块

? os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径

? os.chdir(‘dirname‘) 改变当前脚本工作目录;相当于shell下的cd

? os.curdir 返回当前目录:(‘.‘))

? os.pardir 获取当前目录的父目录字符串名:(‘..‘)

? os.makedirs(‘dirname1/dirname2‘) 可以生成多层递归目录

? os.removedirs(‘dirname1‘) 若目录为空,则删除,并递归到上一层目录,如若也为空,则删

? 除,以此类推

? os.mkdir(‘dirname‘) 生成单级目录;相当于shell中的mkdir dirname

? os.rmdir(‘dirname‘) 删除单机空目录,若目录部位空则无法删除,报错,相当于shell

? 中的rmdir dirname

? os.listdir(‘dirname‘) 列出指定目录下的所有文件和子目录,包括隐藏文件,并以list

? 方式打印出来

? os.remove() 删除一个文件

? os.rename(‘oldname‘,‘newname‘) 重命名文件/目录

? os.stat(‘path/filename‘) 获取文件/目录信息

? os.sep 输出操作系统特定的路径分隔符,win下为‘\‘,linux下为‘/‘

? os.linesep 输出当前平台使用的行终止符,win下为‘\t\n‘,linux下为‘/n‘

? os.pathsep 输出用于分割文件路径的字符串,win下为; linux下为:

? os.name 输出字符串指示当前使用平台。 win->‘nt‘,linux->‘posix‘

? os.system(‘bash command‘) 运行shell命令,直接显示

? os.environ 获取系统环境变量

path 模块

? os.path.abspath(path) 返回path规范化的绝对路径

? ospath.split(path) 将path分割成目录和文件名二元组返回

? os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素

? os.path.basenname(path) 返回path最后的文件名。如过path以 / 或者  结尾,那么就会返回

? 空值。即os.path.split(path)的第二个元素

? os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False

? os.path.isabs(path) 如果path是一个绝对路径,返回True。

? os.path.isfile(path) 如果path是一个存在的目录,返回True。否则False

? os.path.isdir(path) 如果path是一个存在的目录,返回True。否则False

? os.path.join(path[,path2[,...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

? os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间

? os.path.getmtime(path) 返回path所指向的我呢见或者目录的最后修改时间

? os.path.getsize(path) 返回path的大小

? # normcase 用于将路径规范化,会将大写转为小写,斜杠改为当前系统分隔符

print(os.path.normcase(‘\\a\\b\\ABC‘))

? # normpath 用于将路径规范化,不经将非法的分隔符替换为合法分隔符,还想大写转小

? 写,并且会执行‘..‘的回到上一层

print(os.path.normpath(‘/a/b.../ABC‘))

获取项目根目录

shutil 模块

? shutil.copyfileobj() copy文件,提供两个文件对象,长度表示缓冲区大小

? shutil.copyfile(src,dst) copy文件,提供两个文件路径

? shutil.copymode() copy文件权限,提供两个文件路径

? shutil.copystat(src,dst) copy文件状态信息,最后访问,最后修改,权限,提供两个文件

? 路径

? shutil.copy(src,dst) copy文件和权限,提供两个文件路径

? shutil.copy(src,dst) copy文件和转台信息,提供两个文件路径

? shutil.ignore_patterns(‘mp3‘,‘*.py‘)

? shutil.copytree(src,dst,symlnks=False,ignore=None) 拷贝目录

? symlinks 默认False将软件连接拷贝为硬链接 否则拷贝为软链接

? shutil.rmtree 删除目录 可以设置忽略文件

? shutil.move(src,dst) 移动目录和文件

解压 & 压缩

? shutil可以打包,但是无法解包,并且打包也是调用tarfile和zipFile完成,解压需要按照格式调

? 用对应的模块。

打包:

import shutil
shutil.make_archive(‘test‘,‘tar‘,‘/users/jerry/PycharmProjects/package/packa ge1‘)

zip压缩

import tarfile,zipfile
z=zipfile.ZipFile(‘test.zip‘,‘w‘)
z.write(‘sys.py‘)
z.write(‘start‘py‘)
z.close()

zip解压

z=zipfile.ZipFile(‘test.zip‘,‘r‘)
z.extractall("/Users/jerry/PycharmProjects/package/aaa")
z.close()

tar压缩

t=tarfile.open(‘test.tar‘,‘w‘)
t.add(‘start.py‘)
t.add(‘sys.py‘)
t.close()

tar解压

t=tarfile.open(‘test.tar‘)
t.extractall(‘aaa/‘)
t.close()

原文地址:https://www.cnblogs.com/hello-yuanjing/p/9800796.html

时间: 2024-11-09 01:03:30

2018.10.16python学习第二十天的相关文章

2018.10.18学习总结

1""" hash lib hash是一种算法 是将一个任意长的数据 根据计算 得到一个固定长度特征码 特征: 不同输入 可能会有相同的结果 几率特别小 相同的输入 必然得到相同结果 由于散列(特征)的性质 从原理来看是不可能 反解 用来 验证 两个输入的数据是否一致 使用场景 1.密码验证 123321 jahsajshajhsjahjas client 加密后结果 server 拿到加密后 2.验证数据是否被篡改 比如游戏安装包 有没有被改过 为了防止别人撞库成功 可用提

2018.10.11python学习第十七天

模块 1.模块是什么? 模块:一组功能的集合 功能:在python中,一个功能就是一个函数:一个py文件就是一个模块 2.为什么要用模块? 借鉴思想:可以极大的提升开发效率 自定义模块:抽取我们自己程序中要用的功能,定义成模块,然后程序的各部分都去模块中调 用,可以较少代码冗余. 3.如何使用模块? 大前提:注意区分 执行文件 vs 被导入文件 模块类型的分类: 1.自定义模块(第三方模块也属于自定义模块) 2.内置模块 (c语言编写,连接到python解释器中,如time模块) 3.已经编译为

2018.10.19学习总结

1正则表达式import re# [] 范围匹配 中间 用-来连接# re.findall("[a-zA-Z0-9]","a ab abc abcd a123c")# 如果要匹配 符号- 要写表达式的左边或右边# print(re.findall("[-ab]","a ab abc abcd a123c a--")) # 重复匹配 表达式的匹配次数# * 表示 任意次数 所以0次也满足print(re.findall(&quo

20175312 2018-2019-2 《Java程序设计》第10周学习总结

20175312 2018-2019-2 <Java程序设计>第10周学习总结 教材学习内容总结 已依照蓝墨云班课的要求完成了第十二章的学习,主要的学习渠道是PPT,和书的课后习题. 总结如下: 1.第十二章的主要内容: Java中的线程 Thread类与线程的创建 线程的常用方法 线程同步 协调同步的线程 线程联合 GUI线程 计时器线程 2.除了课本内容,还学习了有关--数据库MySQL(课下作业,必做)的内容 3.课本代码已经上传至码云,链接如下: https://gitee.com/d

20145331 《Java程序设计》第10周学习总结

20145331 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴.在发送和接收数据时,大部分的程序设计语言都设计了专门的API实现这些功能,程序员只需要调用即可. 网络编程步骤: 1. 建立网络连接 客户端网络编程的第一步都是建立网络连接.在建立网络连接时需要指定连接到的服务器的IP地址和端口号,建立完成以后,会形成一条虚

20145239杜文超 《Java程序设计》第10周学习总结

20145239 <Java程序设计>第10周学习总结 教材学习内容总结 Java的网络编程 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 网络概述 1.计算机网络概述 (1)路由器和交换机组成了核心的计算机网络,计算机只是这个网络上的节点以及控制等,通过光纤.网线等连接将设备连接起来,从而形成了一张巨大的计算机网络. (2)网络最主要的优势在于共享:共享设备和数据,现在共享设备最常见的是打印机. (3)IP地址:为了能够方便的识别网络上的每个设备,网络中的每个设备

[每周翻译]作为一个计算鸡领域相关的学生狗,有毛东西可以让我花10分钟学习然后享受一生的?

原文地址:https://www.quora.com/As-a-computer-science-student-what-can-I-learn-right-now-in-just-10-minutes-that-could-be-useful-for-the-rest-of-my-life 问:作为一个计算鸡领域相关的学生狗,有毛东西可以让我花10分钟学习然后站撸不哭的?我知道这个问题和 What can I learn/know right now in 10 minutes that w

第10周学习总结

20145339顿珠达杰 Java第10周学习总结 教材学习内容总结 网络编程 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输. 计算机网络 路由器和交换机组成了核心的计算机网络,计算机只是这个网络上的节点以及控制等,通过光纤.网线等连接将设备连接起来,从而形成了一张巨大的计算机网络. 共享 网络最主要的优势在于共享:共享设备和数据,现在共享设备最常见的是打印机. IP地址 对于网络编程来说,最主要的是计算机和计算机之间的通信,这样首要的问题就是如何找到网络上的计算机呢?这就需

20145317《信息安全系统设计基础》第10周学习总结1

20145317<信息安全系统设计基础>第10周学习总结1 第八章 异常控制流 异常 异常是控制流中的突变,用来响应处理器状态中的某些变化. 异常处理 异常号:一些是有处理器的设计者分配(包括被零除.缺页.存储器访问违例.断电及算数溢出)其他由操作系统内核的设计者分配(包括系统调用和来自外部I/O设备的信号). 异常号是到异常表中的索引. 异常与过程调用的区别(P482) 异常分为四类:中断.陷阱.故障和终止. 只有中断是异步发生的,其余三个是同步发生的 陷阱最重要的用途是在用户程序和内核之间