Módulo os do Python

O módulo OS do Python fornece funções simples que nos permitem interagir e obter informações do sistema operacional e até mesmo controlar processos até um certo limite.

Módulo OS do Python

As funções que o módulo OS fornece permitem operar em tarefas subjacentes do sistema operacional, independentemente de ser uma plataforma Windows, Macintosh ou Linux. Nesta lição, iremos revisar essas funções e o que podemos fazer com elas. Vamos começar nossa jornada com essas funções e as informações que elas oferecem.

Importar o módulo os do Python

Por favor, note que, antes de tudo, precisamos importar o módulo OS em nosso programa, somente assim podemos executar qualquer uma de suas funções.

os.name

Esta função fornece o nome do módulo OS que ela importa. Isso varia com base no Sistema Operacional subjacente. Atualmente, ele registra ‘posix’, ‘os2’, ‘ce’, ‘nt’, ‘riscos’ e ‘java’. Vamos executar isso no sistema:

>>> print(os.name)
posix

Claramente, isso pode gerar plataformas diferentes com base no interpretador.

os.environ

environ não é uma função, mas um parâmetro de processo pelo qual podemos acessar variáveis de ambiente do sistema. Vamos ver um trecho de código de exemplo:

import os
output = os.environ['HOME']
print(output)

Ao executarmos este script, a saída será a seguinte: Podemos usá-lo para trabalhar com as variáveis de ambiente, leia mais em Python definir variável de ambiente.

os.execvp

execvp é uma das formas de executar outros comandos no sistema. Vamos ver um trecho de código de exemplo para esta função:

import os
program = "python"
arguments = ["hello.py"]
print(os.execvp(program, (program,) +  tuple(arguments)))

Para isso, acabamos de criar um script de exemplo como hello.py com o seguinte código:

print('Hello')

Quando executamos este script, a saída será a seguinte:

os.getuid

Esta função do módulo os retorna o ID do usuário ou UID do processo atual, como é popularmente conhecido.

>>> os.getuid()
501

Portanto, o ID do processo de shell atual é 501.

os.rename

Com a função de renomeação do Python os, podemos facilmente renomear um arquivo.

import os
fileDir = "JournalDev.txt"
os.rename(fd,'JournalDev_Hi.txt')

Observe que, para isso, devemos fornecer permissões corretas para nosso script.

os.system

A função do sistema Python os nos permite executar um comando no script Python, assim como se estivéssemos executando no shell. Por exemplo:

import os
currentFiles = os.system("users > users.txt")

Quando executei este script, um novo arquivo foi criado no mesmo diretório com o nome users.txt e o conteúdo ‘String’ como ‘shubham’, conforme retornado pelo shell original também: Observe que este é um comando muito poderoso e deve ser usado com cautela.

os.error

A classe de erro do módulo os do Python é a classe base para erros relacionados à E/S. Portanto, podemos capturar erros de E/S usando OSError na cláusula except.

import os

try:
    f = open('abc.txt', 'r')  # file is missing
except OSError:
    print('Error')

os.getpid

Esta função retorna o ID do processo atual ou PID, como é popularmente conhecido.

>>> os.getpid()
71622

Portanto, o ID do usuário do processo shell atual é 71622.

os.listdir

Esta função apenas lista os arquivos e diretórios presentes no diretório de trabalho atual.

>>> import os
>>> os.listdir()
['.DS_Store', '.localized', 'JournalDev', 'Java', 'Python']

Retorna uma lista iterável de nomes de diretórios e arquivos.

os.uname

Esta função retorna informações que identificam o Sistema Operacional atual em que está sendo executado.

>>> os.uname()
posix.uname_result(sysname='Darwin', nodename='Shubham.local', release='17.2.0', version='Darwin Kernel Version 17.2.0: Fri Sep 29 18:27:05 PDT 2017; root:xnu-4570.20.62~3/RELEASE_X86_64', machine='x86_64')

Isso foi bastante detalhado, na verdade.

import os.path vs import os

os.path funciona de maneira estranha na verdade. Parece que os é empacotado com um submódulo path, mas na realidade, os é um módulo normal que opera com sys.module para suportar os.path. Vamos listar o que acontece nos bastidores:

  • Ao iniciar o Python, ele carrega muitos módulos em sys.module.
  • O módulo os também é carregado quando o Python inicia. Ele atribui seu path ao atributo específico do módulo os.
  • Ele injeta sys.modules['os.path'] = path para que você possa fazer import os.path como se fosse um submódulo.

Resumo

Nesta lição, aprendemos sobre várias funções fornecidas pelo módulo OS em Python e vimos como elas funcionam. Veja mais lições sobre Python aqui. Referência: API Doc

Source:
https://www.digitalocean.com/community/tutorials/python-os-module