1、os模块
提供对操作系统进行调用的接口
1 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 2 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd 3 os.curdir 返回当前目录: ('.') 4 os.pardir 获取当前目录的父目录字符串名:('..') 5 os.makedirs('dirname1/dirname2') 可生成多层递归目录 6 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 7 os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname 8 os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname 9 os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 10 os.remove() 删除一个文件 11 os.rename("oldname","newname") 重命名文件/目录 12 os.stat('path/filename') 获取文件/目录信息 13 os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" 14 os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n" 15 os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为: 16 os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix' 17 os.system("bash command") 运行shell命令,直接显示 18 os.environ 获取系统环境变量 19 os.path.abspath(path) 返回path规范化的绝对路径 20 os.path.split(path) 将path分割成目录和文件名二元组返回 21 os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 22 os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 23 os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False 24 os.path.isabs(path) 如果path是绝对路径,返回True 25 os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False 26 os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False 27 os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 28 os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间 29 os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间 30 os.path.getsize(path) 返回path的大小
1 在Linux和Mac平台上,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为饭斜杠。 2 >>> os.path.normcase('c:/windows\\system32\\') 3 'c:\\windows\\system32\\' 4 5 6 规范化路径,如..和/ 7 >>> os.path.normpath('c://windows\\System32\\../Temp/') 8 'c:\\windows\\Temp' 9 10 >>> a='/Users/jieli/test1/\\\a1/\\\\aa.py/../..' 11 >>> print(os.path.normpath(a)) 12 /Users/jieli/test1
os路径处理
1 os路径处理 2 #方式一:推荐使用 3 import os 4 #具体应用 5 import os,sys 6 possible_topdir = os.path.normpath(os.path.join( 7 os.path.abspath(__file__), 8 os.pardir, #上一级 9 os.pardir, 10 os.pardir 11 )) 12 sys.path.insert(0,possible_topdir) 13 14 15 #方式二:不推荐使用 16 os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
2、sys模块
1 sys.argv 命令行参数List,第一个元素是程序本身路径 2 sys.exit(n) 退出程序,正常退出时exit(0) 3 sys.version 获取Python解释程序的版本信息 4 sys.maxint 最大的Int值 5 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 6 sys.platform 返回操作系统平台名称
1 #=========知识储备========== 2 #进度条的效果 3 [# ] 4 [## ] 5 [### ] 6 [#### ] 7 8 #指定宽度 9 print('[%-15s]' %'#') 10 print('[%-15s]' %'##') 11 print('[%-15s]' %'###') 12 print('[%-15s]' %'####') 13 14 #打印% 15 print('%s%%' %(100)) #第二个%号代表取消第一个%的特殊意义 16 17 #可传参来控制宽度 18 print('[%%-%ds]' %50) #[%-50s] 19 print(('[%%-%ds]' %50) %'#') 20 print(('[%%-%ds]' %50) %'##') 21 print(('[%%-%ds]' %50) %'###') 22 23 24 #=========实现打印进度条函数========== 25 import sys 26 import time 27 28 def progress(percent,width=50): 29 if percent >= 1: 30 percent=1 31 show_str=('[%%-%ds]' %width) %(int(width*percent)*'#') 32 print('\r%s %d%%' %(show_str,int(100*percent)),file=sys.stdout,flush=True,end='') 33 34 35 #=========应用========== 36 data_size=1025 37 recv_size=0 38 while recv_size < data_size: 39 time.sleep(0.1) #模拟数据的传输延迟 40 recv_size+=1024 #每次收1024 41 42 percent=recv_size/data_size #接收的比例 43 progress(percent,width=70) #进度条的宽度70 44 45 打印进度条