sys
用来处理与解释器的交互
sys.path
返回 模块查找路径 的列表
sys.version
返回python解释器的信息
sys.platform
返回 系统名称,windows是win32
sys.exit()
退出python,exit(0)表示正常退出,程序成功执行完后就会自动调用exit(0),其他参数表示异常退出。
sys.argv
用于交互模式下,通过命令行传入变量的值
from sys import argv
# 把命令行参数表预先赋值给四个变量
first, second, third, forth = argv print(f'1:{first},2:{second},3:{third},4:{forth}') >>>python filename.py '前面是第一个参数' '这是第三个' '最后的参数了' 执行结果: 1:filename.py,2:'前面是第一个参数',3:'这是第三个',4:'最后的参数了'
os
操作系统相关
os.name
操作系统名称,windows是nt
os.system(command)
执行操作系统的指令
os.popen(cmd)
os.popen(cmd).read()
打开一个进程通信管道,返回值是与管道相连接的文件对象
os.environ
展示系统环境设置的映射对象
os.sep
路径分隔符,windows是'\\',用repr(os.sep)可查看到。
os.linesep
换行符,windows是'\n\t'
os.pathsep
搜索路径分隔符,分隔环境变量的符号,windows是 ';'
文件相关
os.stat(path)
获取文件信息,返回stat_result对象,可用成员操作符,如
os.stat().st_size,返回文件的大小,在windows下,当path是快捷方式时,返回路径名的长度。
os.remove(path)
删除文件,不可恢复,path必须到文件名
os.rename()
重命名文件
路径相关
os.mkdir(path)
创建单级目录,目录已存在时会报错
os.rmdir(path)
删除目录,只有目录为空时才能删除,否则报错
os.makedirs('a/b/c')
创建多层目录,目录已存在会报错,两种斜杠均可
os.removedirs(path)
递归删除目录,只有目录为空时才能删除,否则OSError。删除多级目录可用shutil.rmtree()。
os.listdir(path)
返回path下的所有内容的列表,空目录返回空列表,目录不存在则报错
os.listdir('.')返回当前文件的目录的列表
os.listdir('..')返回当前目录的上一级的列表
os.chdir(path)
切换工作路径
os.getcwd()
获取当前文件所在的路径,即工作路径
cwd--change working directory
os.path
os.path.abspath(path)
获取文件的绝对路径,等价于以下调用normpath()函数的写法
normpath(join(os.getcwd(), path))
3.6之后,可接收类路径对象
os.path.join(path, *path)
路径拼接
# windows下 os.path.join('c:', 'first\s', 'second') # 输出 c:first\s\second
os.path.getsize(filepath)
返回文件大小的字节数,文件不存在或不可访问时发生OSError
无法获得文件夹的大小
os.path.split(path)
返回(head, tail)形式的元祖,tail是path的最后一级目录,若path末尾包含sep,则tail为空字符串,整个path放在head处。
把head,tail两部分用os.join()连接,会得到分割前的路径
另外,head可由dirname()方法得到,tail可由basename()得到
os.path.basename(path)
os.path.basename('a/b/') # windows下返回空字符串 os.path.basename('a/b') # 返回'b'
os.path.dirname()
见split()
os.path.exists(path)
当文件存在时,返回真;否则假。
在一些平台上,文件无执行os.stat()的权限时,就会返回false。
os.path.isabs(path)
是绝对路径,则返回真
os.path.isfile(path)
路径是已经存在的文件,则返回真
os.path.isdir(path)
路径是已存在的目录,则返回真