os模块作为python的核心标准库之一,可以实现执行操作系统命令、调用操作系统中的文件和目录等一系列强大的基础工作,因此几乎是大家写脚本时必定引用的类库,但这样一个集经典、实用、易学等诸多优点于一身的”c位模块”,很多精妙的功能却未必为大家所知,这主要是因为os模块中的很多内容确实繁琐、冗杂,今天小编和大家一起取其精华,看看os模块中有哪些值得一记的强大方法。
os模块第一趴:系统信息的查看与命令调用
首先导入该模块:import os
1. 获取系统信息
os.name:查看操作系统类型。name为检索的系统配置的值,一个系统值一般被定义为一个指定的字符串,例如,Linux系统返回’posix’,Windows系统返回’nt’。
ps. os模块的某些函数是跟操作系统相关的,例如在Linux系统中,uname()函数可以用来获取更详细的系统信息,但Windows系统并不提供该函数,使用后会报错。本文的操作均在Windows系统下完成。
os.linesep:打印操作系统的分隔符,例如Windows系统下分隔符是’ ’,Linux系统为’’,Mac OS系统为’ ’。
os.sep:输出操作系统特定的路径分隔符,例如Windows系统为’\’,Linux系统为’/’。
2. 定义环境变量(即用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等)
os.environ:查看操作系统中定义的全部环境变量
os.environ[key]:获取某个环境变量的value值
os.environ.get(key):同样可以获取某个环境变量的value值,但可以指定key值不存在时的返回值,如不指定,默认返回值为空。
3. 执行系统命令
os.system(command):调用系统的shell命令,返回值是脚本的退出状态码,0代表成功,1代表不成功
os.popen(command):获取系统命令的最终结果
进群:960410445 一起交流一起进步呀!
os模块第二趴:文件与目录的处理
操作文件和目录的函数一部分放在os模块中,另一部分放在os.path模块中。os模块下常用的文件和目录处理的方法如下:
1. 获取目录信息
os.getcwd():得到当前工作目录(get current work directory)
os.chdir(path):改变当前工作目录
os.listdir(path):列出指定路径path下的文件和目录,缺省默认为当前路径
os.curdir:指代当前目录(返回‘.’)
os.pardir:指代上一级目录(返回'..')
2. 更改目录及文件信息
os.mkdir(path):创建目录,若该目录已存在则抛出异常
os.makedirs('path1\path2'):递归创建目录,即当上一级目录不存在时,自动创建上一级目录
os.rmdir(path):删除单层目录,如果该目录非空则抛出异常
os.removedirs('path1\path2'):递归删除目录,从子目录到父目录逐层尝试删除,如果遇见非空则抛出异常
os.remove(path):删除指定路径的文件,如果指定路径是一个目录则抛出异常
os.walk(top[, topdown=True]):遍历top路径下所有的子目录,返回一个三元组:(路径,[包含目录],[包含文件])。选项topdown为True,则优先遍历top目录,否则将优先遍历 top 的子目录(缺省情况下为True)。
os.rename(old, new):对文件或目录重命名(可以用来修改文件类型,非常方便哦~)
os.renames(old, new):递归地对文件或目录重命名。与os.rename()相比,此函数不仅可以修改文件名或目录名,还可以修改文件所在的上级目录名称。
os.stat(file):获得文件属性的返回值,如st_size为文件大小(单位:位),st_mode为权限模式,st_ctime、st_atime和st_mtime分别为文件创建、最后访问和最后修改时间(ps:这个时间是以时间戳的形式返回,如果想转换成我们常用的时间,请参考爬虫俱乐部往期推文《Python之time模块详解》)。
今天的介绍就到这里啦~关于os模块更为详细的使用方法,大家可以参看Python官网的标准库介绍文件学习:https://docs.python.org/3.6/library/os.html。
网友评论