os — 其他操作系统接口
他的模块提供了一种使用操作系统相关功能的便携方式。如果您只想读取或写入文件,请参阅
open( ),如果要操作路径,请参阅
os.path 模块,并且如果要读取命令行上所有文件中的所有行,请参阅
fileinput
模块。有关创建临时文件和目录的信息,请参阅
tempfile
模块,有关高级文件和目录处理请参见
shutil 模块
关于这些功能的可用性的说明:
- Python的所有内置操作系统相关模块的设计都是这样的,只要具有相同的功能,它就使用相同的接口;例如,函数os.stat(path)以相同的格式返回关于路径的统计信息(恰好源于POSIX接口)
- 通过OS模块也可以使用特定操作系统特有的扩展,但使用它们当然是对可移植性的威胁
- 所有接受路径或文件名的函数接受字节和字符串对象,并且如果返回路径或文件名,则会生成相同类型的对象
- “可用性:Unix”说明意味着这个函数通常在Unix系统上找到。它没有在特定的操作系统上声称它的存在
- 如果没有单独说明,那么声称“可用性:Unix”的所有功能都支持在基于Unix核心的Mac OS X上
注意:如果文件名称和路径无效或不可访问,或者具有正确类型但操作系统不接受的其他参数,则此模块中的所有函数都会引发OSError
异常os.error
内置OSError异常的别名
os.
name
导入的操作系统相关模块的名称。以下名称已被注册:'posix','nt','java'
另请参见 sys.platform 具有更精细的粒度。 os.uname() 给出系统相关的版本信息
platform 模块提供了系统身份的详细检查
1.文件名称,命令行参数和环境变量
在Python中,文件名,命令行参数和环境变量使用字符串类型表示。 在某些系统上,在将这些字符串传递给操作系统之前,需要将这些字符串解码为字节和从字节解码。 Python使用文件系统编码来执行此转换(请参阅sys.getfilesystemencoding( ))
版本3.1中更改:在某些系统上,使用文件系统编码进行转换可能会失败。 在这种情况下,Python使用 surrogateescape encoding error handler,这意味着解码时将不可解码的字节替换为Unicode字符U + DCxx,并将这些字符再次转换为编码时的原始字节
文件系统编码必须保证成功解码128以下的所有字节。如果文件系统编码无法提供此保证,API函数可能会引发Unicode错误
2.过程参数
这些功能和数据项提供信息并对当前过程和用户进行操作
os.ctermid( )
返回进程控制终端对应的文件名
可用性:Unix
>>> import os
>>> print os.ctermid()
/dev/tty