2010-12-13 24 views
1

是否可以遍歷一組選定的文件,處理每個文件並使用Apple Automator將輸出保存爲新文件?Apple Automator處理csv文件並創建新文件

我的.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 Script/usr/bin/python外殼和我的Python腳本粘貼。

有些事情不要太翻譯很好,不過,特別是因爲我不知道它如何與python的open('filename','w')命令處理。它可能沒有創建新文件的權限,或者我錯誤地輸入了命令。我的想法是將處理後的文件作爲文本輸出,使用Automator捕獲它,然後將其保存到新文件中。

爲此,我嘗試使用New Text File,但我無法獲得它爲開頭選擇的每個文件創建一個新的文本文件。是否有可能遍歷所有選定的Finder項目?

回答

1

爲什麼你要在腳本的文件夾中完成此操作?或者你的意思是你從Finder項目獲得的文件的文件夾?在這種情況下,只需獲取傳入Python的每個文件的路徑。

當你運行open('filename','w')時,你應該傳入一個完整的路徑名。可能發生了什麼事實是你正在寫入根目錄,而不是你認爲自己在哪裏。

假設你通過你的文件到shell命令中的Automator作爲參數,那麼你可能有以下幾點:

import sys, os 

args = sys.argv[1:] 
for a in args: 
    p = os.path.dirname(a) 
    mypath = p + "/" + name 
    f = open(mypath, "w") 
+0

那豈不是更好地使用os.path.join構建路徑? – nekomatic 2011-06-13 15:23:18