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

yyyllmsg  于 2023-11-16  发布在  Python
关注(0)|答案(2)|浏览(87)

谁能举例说明如何运行外部程序和执行命令?
我想这样做: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

字符串
谢谢.

ttisahbt

ttisahbt1#

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

jtoj6r0c

jtoj6r0c2#

我通常是这样使用os.system的:

import os
os.system("<command to run>")

字符串
编辑Mac OS是非常不方便,不支持太多.我会建议使用Windows或Linux开发,因为他们是一个更灵活的,当涉及到开发.似乎没有在Mac上的命令,能够在另一个窗口中运行它. Windows是能够通过做start cmd.exe打开一个新的窗口.我不能帮助进一步由于Mac OS的限制.

相关问题