如何创建一个 Automator 应用程序,它获取一个文件作为参数并在 macOS Monterey 中使用该文件运行 python 脚本?

How do I create an Automator application that gets a file as an argument and runs a python script with this file in macOS Monterey?

如何使用 automator 创建一个 mac 应用程序,它获取我“放入”其中的文件并使用该文件作为参数执行 python 脚本?

我尝试了各种建议在 Automator 中创建“服务”的问题的解决方案,但我在蒙特雷的 Automator 中没有看到这样的选项

  1. 在 Automator
  2. 中创建一个新的 应用程序
  3. Select “运行 shell 脚本”操作从左侧边栏并通过 double-clicking 添加它
  4. 将shell更改为/bin/bash/
  5. 更改将输入传递给作为参数(请参阅下面的屏幕截图)

  1. 将代码添加到“运行 shell 脚本块”,例如添加以下代码以将目录更改为 python 脚本目录,激活虚拟环境并从中 运行 脚本并将文件作为参数传递(使用 "" 获取文件作为参数):
cd my_project_directory
source .venv/bin/activate
python my_script.py ""
  1. 将您的自动化保存为应用程序
  2. 您现在可以将任何文件拖放到您在 Finder 中保存的应用程序的应用程序图标上,以将其传递给脚本并执行

编辑:

如果您希望能够一次将多个文件拖放到您的应用程序中,并且 运行 为每个文件依次添加一个脚本,您可以将最后一行更改为以下代码:

for f in "$@"
do
    python my_script.py "$f"
done