2015-01-03 27 views
1

我正在研究一個基於OS X Yosemite中各種輸入創建大量圖像文件的python腳本。我試圖在創建每個文件時將用於創建每個文件的輸入寫爲「Finder註釋」,這樣如果輸出在視覺上很有趣,我可以查看生成該文件的特定輸入值。我已經證實,這可以通過蘋果腳本輕鬆完成。如何編寫OS X Finder來自python的評論?

tell application "Finder" to set comment of (POSIX file "/Users/mgarito/Desktop/Random_Pixel_Color/2015-01-03_14.04.21.png" as alias) to {Val1, Val2, Val3} as Unicode text

然後,在選擇該文件,並顯示出其信息(CMD + i)所述搜索註釋清楚地顯示預期的文本 'VAL1,VAL2,VAL2'。

這通過在使用applescript之前和之後運行mdls [File/Path/Name]來進一步確認,這清楚地表明預期文本已被正確添加。

問題是我無法弄清楚如何將它合併到我的python腳本來保存我自己。

林印象中的解決方案應該是*的東西的影響: VarList = [Var1, Var2, Var3] Fiele = [File/Path/Name] file.os.system.add(kMDItemFinderComment, VarList)

作爲一個方面說明我還看XATTR -w [屬性] [ATTRIBUTE_VALUE] [文件/路徑/名稱]但發現雖然這將存儲該屬性,但它不存儲在所需的位置。相反,它最終會在一個附屬的pList中,這不是我所追求的。

回答

1

更多的挖掘之後,我能夠找到一個python的AppleScript包:https://pypi.python.org/pypi/py-applescript

這讓我一個可行的答案,但我還是更願意在本地蟒蛇做,如果任何人有一個更好的選擇?


進口的AppleScript

NEWFILE = '[文件/路徑/名稱]'
註釋= 「幾乎沒有。」

AddComment = applescript.AppleScript( ''」

on run {arg1, arg2} 
    tell application "Finder" to set comment of (POSIX file arg1 as alias) to arg2 as Unicode text 
    return 
end run 

''')

打印(AddComment.run(N ewFile,評論))

打印 「完成」

+0

這比我在做什麼好,即使用'commands'運行'osascript'! –

+0

這工作。您必須先安裝pyobjc(使用pip3)並手動安裝applescript。不要在您的文件路徑中包含括號。 – Hraban