OS 模块简介
OS模块是Python标准库中的一个用于访问操作系统功能的模块,OS模块提供了一种可移植的方法使用操作系统的功能。使用OS模块中提供的接口,可以实现跨平台访问。但是在OS模块中的接口并不是所有平台都通用,有些接口的实现是依靠特定平台下的接口的。在OS模块中提供了一系列访问操作系统功能的接口,便于编写跨平台的应用。
在使用OS模块的时候,如果需要获取系统的名字,可以使用 os.name 获取抛入这个模块的系统的名称,如果是在windows平台下,则返回‘nt’,在Linux则返回‘posix’。
OS模块中的异常处理
在使用OS模块的时候,如果使用过程中出现了异常,OS模块会抛出 OSError 异常,表明:无效的路径名或文件名,或者给出的路径名或文件名无法访问,或者当前使用的系统不支持。
在OS模块中,你可以使用OS模块定义的os.error这个exception,os.error是OSError的别名。
可移植性
OS模块提供了一些定义的变量,可以在跨平台的时候提供支持。便于编写移植性高,强壮的代码。
os.sep 不同的平台有不同的路径表示方法,为了在编写代码的时候方便处理,增加可移植性,可以使用os.sep作为路径的分隔符,而当Python解释执行包含这些变量的代码的时候,就会按照不同的系统,使用不同的分隔符。在windows下,OS.sep为‘\\’,在POSIX系统中,为‘/’。
os.altsep 另一种可以替代使用的文件路径分隔符,如果所在的系统支持其他的分隔符,那么可以使用os.altsep来使用系统支持的其他类型的分隔符,如果系统不支持,那么该值为None,如在Windows中,os.altsep为‘/’。
os.extsep 文件名和文件扩展名之间分隔的符号,在Windows下为‘.’。
os.pathsep PATH环境变量中的分隔符,在POSIX系统中为‘:’,在Windows中为‘;’。
os.defpath 当使用exec函数族的时候,如果没有制定PATH环境变量,则默认会查找os.defpath中的值作为子进程PATH的值。
os.linesep 在不同的系统中行尾的结束符是不同的,在Windows下为‘\r\n’,os.linesep中的值就是所在系统中支持的行结束符。
os.devnull 在不同的系统上null设备的路径,在Windows下为‘nul’,在POSIX下为‘/dev/null’。