You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac OSX 10.12下用AppleScript无终端运行当前目录Python2.7脚本

解决方案:合并AppleScript实现无指定路径且无终端运行Python脚本

嘿,作为AppleScript新手能找到两个核心功能的脚本已经很棒了!咱们直接把它们的逻辑整合起来,就能实现你要的效果——不用硬编码完整路径,同时运行Python脚本时不弹出终端窗口。

核心思路拆解

  1. 从你找到的第一个脚本里,提取动态获取当前AppleScript所在目录的逻辑,这样就能自动定位同目录下的Python脚本
  2. 把这个动态生成的路径,替换第二个脚本里的硬编码路径,同时保留环境变量设置和后台运行的参数,避免终端窗口弹出

完整的合并脚本

-- 第一步:获取当前AppleScript文件所在的文件夹路径
tell application "Finder"
    set scriptFolder to folder of (file (path to me)) as text
end tell
-- 第二步:拼接Python脚本的完整POSIX路径(记得替换成你实际的脚本文件名)
set pythonScriptPath to quoted form of (POSIX path of scriptFolder & "pythonfile.py")

-- 第三步:后台运行Python脚本,不打开终端,同时设置必要的环境变量
do shell script "export LC_ALL=en_US.UTF-8; export LANG=en_US.UTF-8; /usr/bin/python " & pythonScriptPath & " &> /dev/null &"

关键细节说明

  • quoted form of:专门处理路径中可能出现的空格或特殊字符,防止shell命令执行报错
  • POSIX path of:把Finder返回的Mac风格路径(比如Macintosh HD:用户:xxx:脚本文件夹:)转换成shell能识别的斜杠式路径(/Users/xxx/脚本文件夹/)
  • &> /dev/null &:将脚本的标准输出和错误输出全部重定向到空设备,同时让进程在后台运行,这就是不弹出终端的核心
  • /usr/bin/python:Mac OSX 10.12系统自带的Python2.7默认路径就是这个,无需修改

测试小提示

  1. 确保你的AppleScript文件和pythonfile.py放在同一个文件夹里
  2. 如果你的Python脚本不是叫pythonfile.py,记得修改脚本里的对应文件名
  3. 要是需要停止后台运行的Python脚本,可以打开「活动监视器」,找到对应的Python进程结束它

内容的提问来源于stack exchange,提问作者aceman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:05:04