Módulo Python OS

Módulo Python OS

Introdução

Python é uma poderosa linguagem de script. Então, por que não usá -lo para script linux? O OS O módulo é a resposta do Python para lidar com muitas operações de arquivos Linux.

O OS O módulo permite que o Python execute muitas das operações de arquivo e pasta que você normalmente realizaria na linha de comando Linux. Isso permite que você comece a trocar o Bash por Python, o que contribui para uma experiência de script muito mais limpa e amigável.

Carregando os

O OS módulo é um módulo python como qualquer outro. Em qualquer script onde você queira usá -lo, você pode usar uma declaração de importação para puxá -la.

OS de importação

getcwd ()

O getcwd () O método retorna o diretório de trabalho atual na forma de uma string. Você não precisa passar nada. É aproximadamente o equivalente a PWD.

Impressão (OS.getcwd ())

chdir ()

chdir () é o equivalente de Python cd. Chame o método e passe para o diretório para o qual você deseja mudar como uma string.

OS.chdir ('/home/usuário/documentos')

Ele também suporta usando caminhos relativos como cd.

OS.chdir ('… /downloads')


listdir ()

Usando listdir () é muito semelhante a correr ls em Bash. Há uma grande diferença, porém, o valor de retorno.

Em vez de imprimir o conteúdo do diretório, você os recebe de volta como uma lista.

download_list = os.listdir ('downloads') print (download_list) 

Novamente, você pode especificar o diretório ou ele listará o conteúdo do diretório atual.

mkdir () e makes ()

Esses dois são exatamente o que você esperaria que eles fossem. mkdir () Funciona de maneira muito semelhante ao comando linux que você conhece. Nesse caso, pode ser necessário um segundo parâmetro para especificar permissões.

OS.mkdir ('testdir', 755)

O makes () O método funciona da mesma maneira, mas pode criar diretórios recursivamente um do outro, eliminando a necessidade de executar mkdir () várias vezes.

OS.MAKEDIRS ('TestDir2/Something/Somethingelse', 755)

Mais uma vez, você pode especificar as permissões, se quiser.

chmod ()

Isso é mais uma vez um equivalente direto a sua contraparte tradicional. chmod () Para Python, leva dois argumentos. O primeiro é o diretório para mudar, e o segundo são as permissões para mudar para.

OS.chmod ('teste', 774)

chown ()

Você também pode mudar de propriedade com o Python. chown () é a maneira como você faz isso. O método é muito semelhante ao comando Linux, mas exige que os IDs de usuário e grupo funcionem.

OS.CHOWN ('TEST', 1000, 1000)

Esse comando mudará a propriedade do diretório de "teste" para o usuário com um ID de 1000 e o grupo com um ID de 1000.



remova () e removedirs ()

remover() Remove um único arquivo que ele passou. Você também pode passar o caminho completo para o arquivo.

OS.Remover ('/home/user/downloads/algum arquivo')

Para remover os diretórios, use o Removedirs () método. Ele removerá o diretório especificado e todo o seu conteúdo.

OS.Removedirs ('test_dir')

sistema()

Então, o último método aqui é o mais poderoso e também o mais perigoso. O sistema() o método é trapaça. Permite executar qualquer comando do sistema Linux que você passa para ele.

Existem algumas preocupações aqui. Primeiro, para executar o método, o Python abre seu próprio console. Usando sistema() Muito é ineficiente e pode HOG Resources. Mais importante, sistema() pode executar qualquer coisa. Isso significa que pode causar alguns danos graves. Se você vai usar sistema() use -o com moderação e em circunstâncias controladas.

Tente executar um comando através sistema().

Impressão (OS.sistema (ls -lah))

Você também pode ser criativo com ele e até tubos juntos como faria em um terminal normal.

Impressão (OS.Sistema (PS Aux | Grep Firefox))

Se você tiver o Firefox em execução, o comando encontrará o processo e imprimirá informações sobre ele.

Pensamentos finais

Você deu o primeiro passo para roteirizar seu sistema Linux com Python. Existem mais ferramentas que o Python oferece, e as coisas ficam muito complicadas neste espaço. Ferramentas de automação populares como Ansible e Salt são feitas com Python, então realmente não há um limite para o que pode fazer.

Exercícios

  1. Imprima seu diretório atual usando Python.
  2. Mude para um diretório diferente e imprima esse.
  3. Crie um loop que itera sobre o conteúdo de um diretório e imprime cada um individualmente.
  4. Crie um novo diretório com um diretório dentro dele e outro um passo para baixo.
  5. Altere as permissões do seu novo diretório para que o proprietário possa ler Write and Execute, e todos os outros só podem ler e executar.
  6. Exclua os dois subdiretos.
  7. Use Python para criar um arquivo de texto que lista todos os processos que seu usuário está executando no momento.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Como criar trocas no Ubuntu e hortelã
  • Pasta zip no linux
  • Mastering Bash Script Loops
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Loops aninhados em scripts de basquete
  • Download do Linux
  • Coisas para instalar no Ubuntu 22.04