python os模块异常处理与可移植性

发布时间:2020-10-03编辑:脚本学堂
本文介绍了python os模块的入门知识,包括os模块中的异常处理、os模块在可移植性方面的强大功能,一起来研究下。

os模块是pythonbiaozhunku/ target=_blank class=infotextkey>python标准库中的一个用于访问操作系统功能的模块,os模块提供了一种可移植的方法使用操作系统的功能。

使用python os模块中提供的接口,可以实现跨平台访问。

但是在os模块中的接口并不是所有平台都通用,有些接口的实现是依靠特定平台下的接口的。

在os模块中提供了一系列访问操作系统功能的接口,便于编写跨平台的应用。

在使用os模块时,如果需要获取系统的名字,可以使用 os.name 获取抛入这个模块的系统的名称,如果是在windows平台下,则返回‘nt’,在linux则返回‘posix’。

1、os模块异常处理

在使用os模块时,如果使用过程中出现了异常,os模块会抛出 oserror 异常,表明:无效的路径名或文件名,或给出的路径名或文件名无法访问,或者当前使用的系统不支持。
在os模块中,可以使用os模块定义的os.error这个exception,os.error是oserror的别名。

2、python os模块的可移植性

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下为‘rn’,os.linesep中的值就是所在系统中支持的行结束符。
os.devnull 在不同的系统上null设备的路径,在windows下为‘nul’,在posix下为‘/dev/null’。