gpt4 book ai didi

python - 子进程 - 使用文件打开终端

转载 作者:行者123 更新时间:2023-11-28 19:19:30 25 4
gpt4 key购买 nike

我正在尝试制作一个自动化脚本,它应该在同一终端窗口 (Mac OS X Yosemite) 中运行一组命令。但是我无法到达可以继续添加命令的阶段。

Automator.py

path = '/Users/aakashshah/documents/python/test.py'

def subprocess_cmd(command):
process = subprocess.Popen(command,stdout=subprocess.PIPE, shell=True)
proc_stdout = process.communicate()[0].strip()
print(proc_stdout)

subprocess_cmd('cd /Users/aakashshah/documents/python/ | open -a Terminal | python test.py')

结果是终端应用程序打开时只显示根名称。

类似的命令在终端中运行,并在同一终端窗口中获​​得所需的输出。

谢谢。任何帮助将不胜感激。

最佳答案

您可以使用 Popen 进行管道传输并使用 cwd:

from subprocess import Popen,PIPE


def subprocess_cmd(dr,cmd1,cmd2):
p1 = Popen(cmd1.split(),stdout=PIPE,cwd=dr)
p2 = Popen(cmd2.split(),stdin=p1.stdout,stdout=PIPE,cwd=dr)
p1.stdout.close()
return p2.communicate()[0]

subprocess_cmd('/Users/aakashshah/documents/python/','open -a Terminal','python test.py')

如果你只是想运行 python 文件,第一个 cmd1 是不必要的。

关于python - 子进程 - 使用文件打开终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28807239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com