35.1. posix
— As chamadas de sistema mais comuns do POSIX¶
Este módulo fornece acesso à funcionalidade do sistema operacional padronizada pelo padrão C e pelo padrão POSIX (uma interface Unix levemente disfarçada).
Não importe este módulo diretamente. Em vez disso, importe o módulo os
, que fornece uma versão portátil dessa interface. No Unix, o módulo os
fornece um superconjunto da interface posix
. Em sistemas operacionais não Unix, o módulo posix
não está disponível, mas um subconjunto está sempre disponível na interface os
. Uma vez que os
é importado, seu uso não causa penalidade de desempenho em comparação com posix
. Além disso, os
fornece algumas funcionalidades adicionais, como chamar automaticamente putenv()
quando uma entrada em os.environ
é alterada.
Erros são relatados como exceções. As exceções usuais são dadas para erros de tipo, enquanto os erros relatados pelas chamadas do sistema aumentam OSError
.
35.1.1. Suporte a arquivos grandes¶
Vários sistemas operacionais (incluindo AIX, HP-UX, Irix e Solaris) fornecem suporte a arquivos maiores que 2 GiB a partir de um modelo de programação C em que int
e long
são valores de 32 bits. Isso geralmente é realizado definindo o tamanho relevante e os tipos de deslocamento como valores de 64 bits. Esses arquivos às vezes são chamados de arquivos grandes.
Large file support is enabled in Python when the size of an off_t
is
larger than a long
and the long long
type is available and is
at least as large as an off_t
.
It may be necessary to configure and compile Python with certain compiler flags
to enable this mode. For example, it is enabled by default with recent versions
of Irix, but with Solaris 2.6 and 2.7 you need to do something like:
CFLAGS="`getconf LFS_CFLAGS`" OPT="-g -O2 $CFLAGS" \
./configure
Em sistemas Linux com capacidade para arquivos grandes, isso pode funcionar:
CFLAGS='-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' OPT="-g -O2 $CFLAGS" \
./configure
35.1.2. Conteúdo notável do módulo¶
Além de muitas funções descritas na documentação do módulo os
, posix
define o seguinte item de dados:
-
posix.
environ
¶ Um dicionário que representa o ambiente de strings no momento em que o interpretador foi iniciado. Chaves e valores são bytes no Unix e str no Windows. Por exemplo,
environ[b'HOME']
(environ['HOME']
no Windows) é o nome do caminho do diretório inicial, equivalente agetenv("HOME")
em C .A modificação deste dicionário não afeta o ambiente de strings passado por
execv()
,popen()
ousystem()
. Se você precisar alterar o ambiente, passeenviron
paraexecve()
ou adicione atribuições de variável e instruções de exportação para a string de comando parasystem()
oupopen()
.Alterado na versão 3.2: No Unix, chaves e valores são bytes.
Nota
O módulo
os
fornece uma implementação alternativa deenviron
que atualiza o ambiente ao ocorrerem modificações. Observe também que a atualização deos.environ
tornará este dicionário obsoleto. O uso do móduloos
é recomendado sobre o acesso direto ao móduloposix
.