os模块包含普遍的操作系统功能,提供了丰富的方法用来处理文件和目录以及一些系统相关的信息的获取。利用这个模块可以写出与平台无关的程序,比如就是使用os.sep可以取代操作系统特定的路径分割符。
本模块提供一种可移植的方式来使用依赖于操作系统的功能。如果你只想读写文件请参阅open(),如果你想操作文件路径请参阅os.path模块,如果你想读取命令行上所有文件的所有行请参阅fileinput模块。关于创建临时文件和目录请参阅tempfile模块,关于高级的文件和目录处理请参阅shutil模块。
这些函数可用性的注意事项:
Python内建操作系统相关模块的设计是这样的,只要功能相同它就使用相同的接口;例如,函数os.stat(path)以相同的格式(源之于POSIX接口)返回path 的stat信息。
对某个操作系统特有的扩展也可以通过os模块访问,但是使用它们当然不利于移植。
“可用的平台:Unix”的标注表示该函数通常只在Unix系统上能找到。它不是在声明它只存在于某个具体的操作系统上。
如果没有单独地标注,所有声明“可用的平台:Unix”的函数都支持Mac OS X,因为它构建在Unix内核上。
注意:如果文件名和目录非法或不可访问,或者其它的参数类型正确但是操作系统不接受,本模块中的所有函数都将引发OSError。
下面实例讲解一些常用的方法:
0. 查看操作系统相关模块的名字。
目前已经注册的名字:’posix’、’nt’、’os2’、’ce’、’java’、’riscos’。
In [100]: os.name
Out[100]: 'posix'
注意:sys.platform具有更好的粒度。os.uname()给出依赖于系统的版本信息。
In [105]: import sys
In [106]: sys.platform
Out[106]: 'linux2'
In [104]: os.uname()
Out[104]:
('Linux',
'foundation3.ilt.example.com',
'3.10.0-327.el7.x86_64',
'#1 SMP Thu Oct 29 17:29:29 EDT 2015',
'x86_64')
0.5 当前用户和环境相关(可用的平台:Unix。)
os.ctermid()
返回进程控制终端对应的文件名。
os.getegid()
返回当前进程有效的组ID。它对应于当前进程中正在执行的文件的“set id”。
os.geteuid()
返回当前进程有效的用户ID。
os.getgid()
返回当前进程真正的组ID。
os.getgroups()
<