# `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).

Disponibilidade: Unix.

Do not import this module directly. Instead, import the module `os`, which provides a portable version of this interface. On Unix, the `os` module provides a superset of the `posix` interface. On non-Unix operating systems the `posix` module is not available, but a subset is always available through the `os` interface. Once `os` is imported, there is no performance penalty in using it instead of `posix`. In addition, `os` provides some additional functionality, such as automatically calling `putenv()` when an entry in `os.environ` is changed.

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

Vários sistemas operacionais (incluindo AIX 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.

O suporte a arquivos grandes é ativado no Python quando o tamanho de um `off_t` é maior que a long e long long é pelo menos tão grande quanto um `off_t`. Pode ser necessário configurar e compilar o Python com certos sinalizadores do compilador para ativar esse modo. Por exemplo, com o Solaris 2.6 e 2.7, você precisa fazer algo como:

    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

In addition to many functions described in the `os` module documentation, `posix` defines the following data item:

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

  The `os` module provides an alternate implementation of `environ` which updates the environment on modification. Note also that updating `os.environ` will render this dictionary obsolete. Use of the `os` module version of this is recommended over direct access to the `posix` module.