O módulo OS em Python fornece acesso a funções específicas do sistema para lidar com o sistema de arquivos, processos, planejador, etc. Você precisa dominar o sistema Python OS para escrever aplicativos que lidam com problemas do mundo real. Este guia discute alguns dos principais conceitos e ilustra como usar o comando do sistema Python.
Recursos do sistema Python OS
O sistema operacional funciona como uma forma portátil de interagir com o sistema operacional subjacente. Ele oferece acesso a nomes de arquivos, argumentos de linha de comando, variáveis de ambiente, parâmetros de processo e hierarquia do sistema de arquivos junto com outras funcionalidades.
Este módulo também contém dois submódulos, o módulo os.sys e o módulo os.path. Você pode usar as funções fornecidas pelo módulo OS para realizar uma ampla variedade de tarefas. Alguns usos comuns incluem a execução de comandos shell, gerenciamento de arquivos e diretórios, processos de desovaetc.
Primeiros passos com o módulo OS
A maneira mais fácil de explorar o módulo OS é por meio do interpretador. Você pode importar o módulo para lá e usar as funções do sistema sem escrever o código-fonte. Você precisa ter o Python instalado para isso, no entanto. Então vá em frente e instale o Python em sua máquina local.
Relacionado: Como instalar o Python no Ubuntu
Inicie o intérprete digitando Pitão em seu terminal ou shell de comando. Depois de aberto, importe o módulo OS usando a seguinte instrução.
>>> importar os
Agora você pode acessar as funcionalidades fornecidas pelo módulo OS, incluindo o Python sistema comando. Por exemplo, você pode determinar a plataforma do sistema usando o nome comando. O exemplo a seguir mostra como invocar comandos do sistema expostos pelo módulo OS.
>>> os.name
Esta função verifica se certos módulos específicos do sistema operacional estão presentes e determina a plataforma com base nisso. Use o uname função para obter informações detalhadas.
>>> os.uname ()
Este comando exibe a plataforma exata do sistema ao lado da arquitetura da máquina, liberação e informações de versão. Use o getcwd função para recuperar o diretório de trabalho atual.
>>> os.getcwd ()
Você pode alterar facilmente o diretório de trabalho usando o comando do sistema Python chdir. Passe o novo local como um parâmetro de string.
>>> os.chdir ('/ tmp')
O mkdir função do módulo OS torna a criação de novos diretórios direta. Também nos permite criar pastas recursivas, o que significa que o Python criará todos os diretórios ausentes que são pais do diretório folha.
>>> os.mkdir ('novo-dir')
Use o rmdir comando para excluir diretórios de seu diretório de trabalho.
>>> os.rmdir ('novo-dir')
Exemplos de comando do sistema Python
O comando do sistema fornecido pelo módulo OS permite que os programadores executem comandos shell. Certifique-se de definir o nome do comando como uma string. Depois de chamar o python sistema comando, ele executará o comando fornecido em um novo subshell.
>>> cmd = 'data'
>>> os.system (cmd)
Você pode executar outros aplicativos independentes usando este mesmo método. O exemplo a seguir executa o editor de terminal nano do seu shell Python.
>>> cmd = 'nano'
>>> os.system (cmd)
O sistema Python OS também exibe o código de retorno para cada comando executado. Os sistemas POSIX retornam 0 para execução bem-sucedida e valores diferentes de zero para indicar problemas.
Você pode usar o sistema operacional em Python para executar o que quiser. Por exemplo, se seu programa precisa ler as informações de versão de um programa na máquina do usuário, você pode fazer algo como o seguinte.
>>> cmd = 'gcc --version'
>>> os.system (cmd)
O exemplo a seguir executa um comando shell simples que cria um novo arquivo chamado users.txt e preenche-o com todos os usuários conectados. Muitos programas Python fazem essas coisas.
>>> os.system ('usuários> teste')
Estamos passando o nome do comando para o sistema OS como uma string. Você pode usar todos os tipos de comandos de terminal úteis o mesmo caminho.
>>> os.system ('ping -c 3 google.com')
Você também pode usar subprocesso chamadas para a execução de comandos do sistema em Python. Isso fornece vários benefícios adicionais, incluindo tempo de execução mais rápido, melhor tratamento de erros, análise de saída e comandos shell de tubulação. A documentação oficial do Python também recomenda chamada de subprocesso sobre módulos mais antigos, como os.system e os.spawn.
>>> subprocesso de importação
>>> subprocess.run (["ping", "- c 3", "example.com"])
Gerenciando arquivos e diretórios por meio do módulo de sistema operacional
Mostramos como criar arquivos e diretórios simples usando o módulo Python OS. E se você quiser criar pastas aninhadas? O sistema operacional também cuida disso para nós, programadores. Por exemplo, os snippets abaixo criam a pasta $ HOME / test / root / api. Ele também criará os diretórios pai necessários, se eles não estiverem disponíveis.
>>> dirname = os.path.join (os.environ ['HOME'], 'test', 'root', 'api')
>>> imprimir (dirname)
>>> os.makedirs (dirname)
Primeiro, recuperamos o diretório inicial usando ambiente e depois juntou os nomes das pastas via os.path.join. A declaração de impressão exibe o nome da pasta, e makedirs cria.
Podemos ver o novo diretório usando o listdir método do módulo OS.
>>> os.chdir (os.path.join (os.environ ['HOME'], 'test', 'root', 'api'))
>>> os.system ('touch file1 file2 file3')
>>> os.listdir (os.environ ['HOME'])
Você pode facilmente renomear o diretório api usando o renomear comando oferecido pelo módulo OS. A instrução a seguir renomeia este diretório api para test-api.
>>> os.rename ('api', 'test-api')
Use o isfile e isdir função do sistema operacional se seu programa precisa validar arquivos ou diretórios específicos.
>>> os.path.isfile ('arquivo1')
>>> os.path.isdir ('arquivo1')
O módulo OS em Python também permite que os desenvolvedores extraiam nomes de arquivos e pastas junto com extensões de arquivo. Os snippets abaixo ilustram o uso de os.path.split e os.path.splitext a respeito disso.
>>> dir = os.path.join (os.environ ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split (dir)
>>> imprimir (dirname)
>>> imprimir (nome de base)
Use o código abaixo para extrair extensões como .txt ou .mp3 de nomes de arquivos.
>>> nome de arquivo, extensão = os.path.splitext (nome de base)
>>> imprimir (nome do arquivo)
>>> imprimir (extensão)
Uso diverso do sistema Python OS
O módulo OS oferece muitas funções adicionais para manipular coisas como processos do usuário e o agendador de tarefas. Por exemplo, você pode obter rapidamente o UID (id do usuário) do processo atual usando o getuid função.
>>> os.getuid ()
>>> os.getgid ()
O getgid função retorna o id de grupo do processo em execução. Usar getpid para obter o PID (id do processo) e getppid para obter o id do processo pai.
>>> os.getpid ()
>>> os.getppid ()
Você também pode usar o módulo OS para alterar as permissões de arquivos e diretórios do seu programa Python. Use o chmod função do sistema operacional para fazer isso.
>>> os.chmod ('arquivo1.txt', 0o444)
Este comando altera a permissão de arquivo1.txt para 0444. Usar 0o444 ao invés de 0444 para garantir que a instrução seja compatível com as duas versões principais do Python.
Aproveite o poder do sistema Python OS
O módulo OS do Python fornece tudo que você precisa para interagir com o sistema operacional subjacente. Um entendimento claro do sistema OS é necessário para escrever programas verdadeiramente multiplataforma. Cobrimos algumas das principais funcionalidades fornecidas por este módulo para ajudá-lo a começar. Experimente no seu próprio ritmo e não se esqueça de mexer neles.
Pronto para levar sua codificação Python para o próximo nível? É hora de entender como criar e usar tuplas.
- Programação
- Pitão

Rubaiat é um graduado em CS com uma forte paixão por código aberto. Além de ser um veterano do Unix, ele também trabalha com segurança de rede, criptografia e programação funcional. Ele é um colecionador ávido de livros de segunda mão e tem uma admiração sem fim pelo rock clássico.
Assine a nossa newsletter
Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!
Mais um passo…!
Confirme o seu endereço de e-mail no e-mail que acabamos de enviar.