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
模块。