Python 3. Как запустить внешнюю программу и выполнить команду? - PullRequest
1 голос
/ 21 июня 2019

кто может объяснить и показать пример, как запустить внешнюю программу и выполнить там команду?

Я хочу сделать это: 1) Запустить новое окно терминала 2) Отправить команду на выполнение в терминале

Система: Mac Os

import subprocess
test = subprocess.Popen(["/usr/bin/open", "-W", "-n", "-a", "/Applications/iTerm.app"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
test.stdin.write("ls")


Traceback (most recent call last):
  File "/Users/NEWA/PycharmProjects/TEST/TEST.py", line 3, in <module>
    test.stdin.write("ls")
TypeError: a bytes-like object is required, not 'str'

Process finished with exit code 1

Спасибо.

1 Ответ

0 голосов
/ 21 июня 2019

Я однажды использовал это в своем проекте Flask and Scrapy, вы должны использовать,

subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None)

Смотрите здесь https://docs.python.org/3/library/subprocess.html Для получения дополнительной информации

...