谁可以解释并展示如何运行外部程序并在那里执行命令的示例?
我想这样做: 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
谢谢。
我曾经在我的 Flask 和 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 欲了解更多信息
我通常这样使用 os.system:
import os
os.system("<command to run>")