1

是否可以使用 Apple Automator 遍历一组选定的文件,处理每个文件并将输出保存为新文件?

我有一个 .xls 文件的集合,并且我已经让 Automator

- Ask for Finder Items
- Open Finder Items
- Convert Format of Excel Files #save each .xls file to a .csv

我编写了一个 python 脚本,它接受一个文件名作为参数,对其进行处理,并将其作为 p_filename 保存在运行脚本的目录中。我正在尝试使用Run Shell Scriptshell/usr/bin/python并粘贴我的 python 脚本。

不过,有些东西翻译得不太好,特别是因为我不确定它如何处理 python 的open('filename','w')命令。它可能没有创建新文件的权限,或者我输入的命令不正确。我的想法是将处理后的文件输出为文本,用 Automator 捕获它,然后将其保存到一个新文件中。

为此,我尝试使用New Text File,但我无法让它为开始时选择的每个文件创建一个新的文本文件。是否可以遍历所有选定的 Finder 项目?

4

1 回答 1

1

为什么要在脚本文件夹中完成此操作?还是您的意思是您从 Finder 项目中获取的文件所在的文件夹?在这种情况下,只需获取传递给 Python 的每个文件的路径。

当你运行 open('filename','w') 时,你应该传入一个完整的路径名。可能正在发生的事情是您实际上是在写入根目录,而不是您认为的位置。

假设您将文件作为参数传递给 Automator 中的 shell 命令,那么您可能有以下内容:

import sys, os

args = sys.argv[1:]
for a in args:
    p = os.path.dirname(a)
    mypath = p + "/" + name
    f = open(mypath, "w") 
于 2011-03-05T02:58:57.730 回答