Python 常用内置模块——sys、os

时间:2021-06-10 22:35:06

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)

  路径是已存在的目录,则返回真