4

在此处输入图像描述

好吧,这件事现在让我发疯。所以操作 1 选择一个文件夹(我想将该文件夹的路径保存为 var_1)并且操作 3 选择一个文件(我想将此文件的路径保存为 var_2)

所以到底。. .

var_1 = '/Users/Prometheus/Desktop/'
var_2 = '/Users/Prometheus/Documents/a.txt'

那么如何在带有 python 的 Shell Script 中使用这些变量及其值呢?我不能使用 sys.argv 因为它们被设置为一些奇怪的变量

我通常会输入“询问 Finder 项目”> 运行 Shell 脚本,然后

import sys

variable = open(argv[1]).read()

但在这种情况下我不能使用它。我的脚本在 python 中,所以我宁愿留在 python 中,因为我不知道任何其他语言

4

2 回答 2

10

Automator 变量仅用于 Automator 工作流程。shell 脚本或 Python 脚本都不能直接访问变量本身。该Run Shell Script操作允许您通过以下两种方式之一将特定变量的值传递给 shell 脚本:通过管道将它们stdin传入或将它们作为执行参数传递。对于这种用例,后者更容易。首先,您需要在Set Value of VariableGet Value of Variable操作中选择 Automator 变量名称,以便可以在操作之间保留所选值。这是一个非常基本的工作流程示例,其中我选择了两个文件夹:

在此处输入图像描述 在此处输入图像描述

于 2013-10-01T19:00:25.450 回答
0

您可以使用这样的 Run AppleScript 操作来显示对话框:

POSIX path of (choose folder default location (path to desktop))
result & linefeed & POSIX path of (choose file default location (path to desktop))

然后在 Run Shell Script 操作中将“Pass input”设置为“to stdin”,并使用如下脚本:

import sys
folder, file = sys.stdin.read().splitlines()
于 2013-10-01T11:29:56.863 回答