Python 3.x 如何运行外部程序并在新终端选项卡中执行命令?

问题描述 投票:0回答:2

谁可以解释并展示如何运行外部程序并在那里执行命令的示例?

我想这样做: 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

谢谢。

python python-3.x subprocess macos-mojave iterm2
2个回答
0
投票

我曾经在我的 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 欲了解更多信息


0
投票

我通常这样使用 os.system:

import os
os.system("<command to run>")
© www.soinside.com 2019 - 2024. All rights reserved.