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()

posted on 2018-10-16 21:28  撩与诗人  阅读(90)  评论(0编辑  收藏  举报