Как запустить серию команд bash через Python? - PullRequest
0 голосов
/ 04 ноября 2018

Работая в системе Windows, я запускаю bash.exe с помощью subprocess.call (). Ниже приведен код

def predict():
    os.system('notepad cmnd.txt')
    subprocess.call(['C:/Windows/System32/bash.exe'])
    print(file_contents)
    label = Label(master, text=file_contents)
    #subprocess.call(['c:/users/hp/open.py'])
    label.pack()

Дескриптор переходит к bash, таким образом, не выполняя пару команд. Команды cd, которые запускаются при фактическом вводе значений, возвращают ошибку Missing Directory. Команда ls возвращает ошибку «невозможно запустить двоичный файл». Что мне делать?

1 Ответ

0 голосов
/ 04 ноября 2018

Я не совсем уверен, что вы хотите здесь, но если вы хотите запускать команды bash в среде Windows, вы можете попробовать использовать subprocess.check_output():

from subprocess import check_output

bash_commands = ['ls', 'pwd']

for command in bash_commands:
    output = check_output(['bash', '-c', command]).decode()
    print(output)

Который в этом примере перечисляет все файлы в текущем каталоге и распечатывает родительский рабочий каталог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...