我正在开发一个python脚本,它根据OS X Yosemite中的各种输入创建大量图像文件。我正在尝试将用于创建每个文件的输入写为'Finder comments',因为每个文件都是创建的,因此如果输出在视觉上很有趣,我可以查看生成文件的特定输入值。我已经确认这可以通过Apple脚本轻松完成。
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)后,Finder注释会清楚地显示预期文本'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_Name] [Attribute_Value] [File / Path / Name],但发现虽然这将存储属性,但它不会存储在所需的位置。相反,它最终出现在附属的pList中,这不是我所追求的。
答案 0 :(得分:1)
经过多次挖掘,我找到了一个python applescript包:https://pypi.python.org/pypi/py-applescript
这让我得到了一个可行的答案,但如果有人有更好的选择,我还是更喜欢在python中本地做这个?
导入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
''&#39)
print(AddComment.run(NewFile,Comment))
打印"完成"
答案 1 :(得分:1)
这是我的方法。
首先,您需要使用pip install applescript
命令安装applesctipt
软件包。
这是注释任何文件的功能:
def set_comment(file_path, comment_text):
import applescript
applescript.tell.app("Finder", f'set comment of (POSIX file "{file_path}" as alias) to "{comment_text}" as Unicode text')
然后我就这样使用它:
set_comment('/Users/UserAccountName/Pictures/IMG_6860.MOV', 'my comment')