Python 和 macOS:从 Python 打开新的终端窗口,传递要执行的命令

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

我使用以下两行 Python 代码从 Python 脚本打开一个新的终端窗口,效果很好:

import os
os.system('open -a Terminal .')

现在我想向新的终端窗口传递一个要执行的命令,例如

ls

我该怎么做?

python macos terminal
3个回答
5
投票

由于旧答案已贬值,

如果还没有,请下载 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 + '"') 

4
投票

试试这个

import appscript

appscript.app('Terminal').do_script('ls')  # or any other command you choose

0
投票

不需要额外的库,请参阅下面的示例

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}" '"""
    )
)
© www.soinside.com 2019 - 2024. All rights reserved.