posix ---最常见的POSIX系统调用¶
此模块提供对操作系统功能的访问,这些功能由C标准和POSIX标准(一个伪装得很薄的Unix接口)标准化。
不要直接导入此模块。 相反,导入模块 os ,它提供了 便携式的 此接口的版本。在UNIX上 os 模块提供了 posix 接口。在非UNIX操作系统上, posix 模块不可用,但通过 os 接口。一次 os 是输入的,有 no 使用它而不是 posix .此外, os 提供一些附加功能,例如自动调用 putenv() 当一个入口 os.environ 改变了。
错误报告为异常;对于类型错误,通常会给出异常,而系统调用报告的错误会引发 OSError .
大文件支持¶
多个操作系统(包括AIX、HP-UX和Solaris)支持C编程模型中大于2 GiB的文件 int 和 long 是32位值。这通常是通过将相关的大小和偏移量类型定义为64位值来实现的。这样的文件有时被称为 large files 。
在Python中启用大文件支持时, off_t 大于 long 以及 long long 至少与 off_t 。可能需要使用某些编译器标志配置和编译Python才能启用此模式。例如,在Solaris 2.6和2.7中,您需要执行如下操作:
CFLAGS="`getconf LFS_CFLAGS`" OPT="-g -O2 $CFLAGS" \
./configure
在支持大型文件的Linux系统上,这可能有效:
CFLAGS='-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' OPT="-g -O2 $CFLAGS" \
./configure
值得注意的模块内容¶
- posix.environ¶
在解释器启动时表示字符串环境的字典。键和值在Unix上是字节,在Windows上是str。例如,
environ[b'HOME'](environ['HOME']在Windows上)是主目录的路径名,相当于getenv("HOME")在C.修改此字典不会影响由传递的字符串环境
execv(),popen()或system();如果需要更改环境,请通过environ到execve()或将变量赋值和导出语句添加到的命令字符串中system()或popen().在 3.2 版更改: 在UNIX上,键和值是字节。
注解
这个
os模块提供了environ在修改时更新环境。还要注意更新os.environ将使此词典过时。使用os建议使用模块版本,而不是直接访问posix模块。