Inicia o terminal no Ubuntu com um script python?

0

Como posso iniciar um terminal no Ubuntu 16.04 com um script python, executar comandos nesse terminal e recuperar a saída desses comandos?

Por exemplo, quero verificar o conteúdo de uma pasta (por meio da CLI) e retornar os resultados para o script python. Então, eu quero o meu código python para fazer isso:

  1. Terminal aberto
  2. cd <path/to/folder>
  3. ls
  4. // Recupere a saída e processe esta informação.

É possível executar comandos da CLI e ouvir os resultados (porque o próximo comando é baseado na saída do comando anterior) sem abrir um terminal?

    
por galahad 21.06.2016 / 18:11

2 respostas

2

Se você realmente precisa de um terminal, provavelmente terá que carregar um arquivo e conectar stdin e stdout a ele, depois usar o módulo Subprocess para executar seu aplicativo. Mesmo que não filtre nenhuma maldição, escape sequências ou gráficos ASCII (por que mais você precisaria de um terminal?), Mas se o aplicativo estiver verificando a presença de um terminal, ele funcionará.

Se tudo o que você precisa fazer é executar um aplicativo de linha de comando e redirecionar sua entrada e saída, basta usar o módulo Subprocesso diretamente.

    
por Stephen M. Webb 21.06.2016 / 18:20
2

Você pode fazer isso usando o módulo os :

#!/usr/bin/env python

import os
output = os.listdir('path_to_folder')  # output is a list
# Do whatever you want to output

Você pode ler mais sobre o que mais o módulo os pode fazer no link . Note que os métodos no módulo são portáveis em diferentes sistemas operacionais, então você pode de fato usar seu script fora do Ubuntu.

    
por edwinksl 21.06.2016 / 19:03