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 levantam OSError.

Suporte a arquivos grandes

Several operating systems (including AIX and Solaris) provide support for files that are larger than 2 GiB from a C programming model where int and long are 32-bit values. This is typically accomplished by defining the relevant size and offset types as 64-bit values. Such files are sometimes referred to as large files.

Large file support is enabled in Python when the size of an off_t is larger than a long and the long long 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, 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

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 a getenv("HOME") em C .

A modificação deste dicionário não afeta o ambiente de strings passado por execv(), popen() ou system(). Se você precisar alterar o ambiente, passe environ para execve() ou adicione atribuições de variável e instruções de exportação para a string de comando para system() ou popen().

Alterado na versão 3.2: No Unix, chaves e valores são bytes.

Nota

O módulo os fornece uma implementação alternativa de environ que atualiza o ambiente ao ocorrerem modificações. Observe também que a atualização de os.environ tornará este dicionário obsoleto. O uso do módulo os é recomendado sobre o acesso direto ao módulo posix.