sys与os模块
SYS模块
模块方法:
sys.argv 命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0)
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的Int值
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
学习代码:
#当不想让用户input在输入信息时,在执行文件时就将参数写入 print(sys.argv) #命令行参数List,第一个元素是程序本身路径 #在cmd命令下,执行文件,python sys模块.py aa bb cc #sys会保留文件名后边输入的值,并存入list,可通过list取值 ['文件路径','aa','bb','cc'] command = sys.argv[1] path = sys.argv[2] print(command,path) #获取到值之后,可以进行做数据处理,或判断 if command == '': pass if path == '': pass
#sys.stdout.write('#') # 向终端屏幕输出信息,print就是基于此方法制作 #进度条 (真实进度条 关键因素:值) for i in range(10): sys.stdout.write('#') time.sleep(1) sys.stdout.flush() #强制刷新,有什么就先在屏幕上输出什么 # val = sys.stdin.readline()[:-1]
os模块
import os,sys a = os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径 print(a) print(os.chdir("dirname")) #改变当前脚本工作目录;相当于shell下cd a = os.curdir #返回当前目录: ('.') b = os.pardir #获取当前目录的父目录字符串名:('..') print(a) print(b) #执行所以文件路径都为,当前文件相对路径来对应 os.makedirs('dirname/dirname1/dirname2') #可生成多层递归目录 os.removedirs('dirname/dirname1/dirname2') #若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.mkdir('dirname1') #生成单级目录;相当于shell中mkdir dirname os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname print(os.listdir('dirname/dirname1') ) #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 os.remove('dirname/dirname1/dirname2/66.py') #删除一个文件 os.rename("dirname","newname") #重命名文件/目录 st_size 大小 st_atime 查看时间, st_mtime 修改时间,st_ctime 创建时间 print(os.stat('newname/__init__.py')) #获取文件/目录信息 执行结果:os.stat_result(st_mode=33206, st_ino=14073748835558179, st_dev=870843, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1481595256, st_mtime=1481595256, st_ctime=1481595256) print(os.sep) #输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" print(os.linesep) #输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n" print(os.pathsep) #输出用于分割文件路径的字符串 print(os.name) #输出字符串指示当前使用平台。win->'nt'; Linux->'posix' os.system("ping www.baidu.com") #运行shell命令,直接显示,相当于运行bash command print(os.environ) #获取系统环境变量 print(os.path.abspath(__file__)) # 返回path规范化的绝对路径 print(os.path.split(r'G:\python\2016_12_13Day22\os模块.py')) #将path分割成目录和文件名二元组返回 print(os.path.dirname(r'G:\python\2016_12_13Day22\os模块.py')) #返回path的目录。其实就是os.path.split(path)的第一个元素 print(os.path.basename(r'G:\python\2016_12_13Day22\os模块.py')) #返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 print(os.path.exists(r'G:\python\2016_12_13Day22')) #如果path存在,返回True;如果path不存在,返回False print(os.path.isabs(r'G:\python\2016_12_13Day22')) #如果path是绝对路径,返回True print(os.path.isfile(r'G:\python\2016_12_13Day22\os模块.py')) #如果path是一个存在的文件,返回True。否则返回False print(os.path.isdir(r'G:\python\2016_12_13Day22')) #如果path是一个存在的目录,则返回True。否则返回False os.path.join(path1[, path2[, ...]]) #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 路径拼接 print(os.path.join('G:\python','2016_12_13Day22')) os.path.getatime(path) #返回path所指向的文件或者目录的最后存取时间 os.path.getmtime(path) #返回path所指向的文件或者目录的最后修改时间