我使用以下两行 Python 代码从 Python 脚本打开一个新的终端窗口,效果很好:
import os
os.system('open -a Terminal .')
现在我想向新的终端窗口传递一个要执行的命令,例如
ls
我该怎么做?
由于旧答案已贬值,
如果还没有,请下载 applescript,
pip3 install applescript
python脚本
from applescript import tell
#set what command you want to run here
yourCommand = 'ls'
tell.app( 'Terminal', 'do script "' + yourCommand + '"')
试试这个
import appscript
appscript.app('Terminal').do_script('ls') # or any other command you choose
不需要额外的库,请参阅下面的示例
import subprocess
import shlex
cmd = "sleep 10"
subprocess.run(
shlex.split(
f"""osascript -e 'tell app "Terminal" to activate' -e 'tell app "Terminal" to do script "{cmd}" '"""
)
)