常用模块
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