Saida de comando com python3

1. Saida de comando com python3

richard matthew
matthew3

(usa Arch Linux)

Enviado em 26/01/2018 - 17:19h

Olá galera, sou bem iniciante e queria a ajuda de vocês.
No python nós temos a possibilidade de usar biblioteca os ou subprocess para executar comandos no shell, mas eu queria que meu programa soubesse a saída do comando.
Exemplo:


import os
os.system('ls')


Então a saída seria os diretórios, eu gostaria que meu programa pudesse ler a saída do comando 'ls', e transforme em uma lista ou dicionario para que o programa possa ver o resultado e continuar a partir do resultado do comando 'ls'.

Grato por qualquer ajuda



  


2. Re: Saida de comando com python3

Caio Sabadin
caiosabadin

(usa Slackware)

Enviado em 03/03/2018 - 02:09h

Ao invés de usar o método "system", como você fez abaixo:

import os
os.system('ls')


Basta usar o método popen():

import os
resultado = os.popen('ls').read()


Na realidade, há até forma mais recomendada de se fazer isso, que tu pode conferir na documentação: https://docs.python.org/3/library/subprocess.html


3. Re: Saida de comando com python3

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 03/03/2018 - 07:14h

Use o:
os.listdir() 

Exemplo:
>>> os.listdir("/home")
['ctw6av']

Depois se quiser iterar entre os arquivos e diretórios é só usar um for:
>>> for fileDir in os.listdir("/home"): 
... print(fileDir)
...
ctw6av

Se não for algo estático, não recomendo guardar referência da lista de diretórios pois caso seja criado um novo arquivo e/ou diretório e você esquecer de atualizar a referência pode complicar um pouco usar ela no futuro.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts