gpt4 book ai didi

python - 如何在 macOS 上按名称以编程方式打开应用程序?

转载 作者:行者123 更新时间:2023-12-03 14:21:10 24 4
gpt4 key购买 nike

我正在编写一个跨平台的 Python 应用程序,它充当 DOSBox 的前端.它需要使用许多命令行参数调用 DOSBox 可执行文件。我不想硬编码到 DOSBox 的特定路径,因为它可能取决于用户安装它的位置。
在 Linux 上,我可以简单地做:

import subprocess
subprocess.run(['dosbox'] + args)
但是,在 macOS 上,我目前使用以下代码:
import subprocess
subprocess.run(['/Applications/dosbox.app/Contents/MacOS/DOSBox'] + args)
这看起来非常具体,我什至不确定它是否有效,因为我没有要测试的 Mac。
在 macOS 上按名称打开应用程序的正确方法是什么?
(注意:对于 Windows,我也问过这个 sibling question。)

最佳答案

不知道 DOSBox 或者希望在我的 Mac 上使用它,但一般来说,当您在 macOS 上安装应用程序时,它会有一个“属性列表”文件,或 plist"info.plist"在里面。在那里,开发人员应该放置一个名为 CFBundleIdentifier 的“捆绑标识符”键。 .这在所有应用程序中必须是唯一的,因此对于 DOSBox 它应该是这样的:

<key>CFBundleIdentifier</key>
<string>com.dosboxinc.dosbox</string>
让您的一位用户找到它,然后您可以使用捆绑标识符像这样打开它,无论安装位置如何:
open -b BUNDLEIDENTIFIER --args arg1 arg2 arg3
哪里 arg1 , arg2arg3转至 DOSBox .

您可以通过在 中运行它来获取包标识符。终端 :
osascript -e 'id of app "DOSBox"'
但是请注意,如果此命令有效,则意味着我已经正确猜到了应用程序名称 "DOSBox" ,这意味着您可以将应用程序名称与 open 一起使用,而不是像这样的包标识符:
open -a DOSBox --args arg1 arg2 arg3

关于python - 如何在 macOS 上按名称以编程方式打开应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65516999/

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