使用python从文件中获取聚光灯注释

使用python从文件中获取聚光灯注释,python,comments,applescript,spotlight,Python,Comments,Applescript,Spotlight,我试图用python获得聚光灯评论。我现在所需要的是,如果运行相同的东西,popen可以返回shell正常输出的任何内容。一旦我有了python中的字符串,我就可以正确地过滤它 import sys, os, glob paths = glob.glob("*.wav") print paths for soundFile in paths: #soundFile = os.path.abspath(soundFile) result = os.popen("xattr -p

我试图用python获得聚光灯评论。我现在所需要的是,如果运行相同的东西,popen可以返回shell正常输出的任何内容。一旦我有了python中的字符串,我就可以正确地过滤它

import sys, os, glob

paths = glob.glob("*.wav")
print paths

for soundFile in paths:
    #soundFile = os.path.abspath(soundFile)
    result = os.popen("xattr -p com.apple.metadata:kMDItemFinderComment "+soundFile+" | xxd -r -p |plutil -convert xml1 -o - -")
    print result

我不知道这在Python中的等价物是什么,但是您可以使用xattr来实现


我忘记了mdls-n kMDItemFinderComment。无论如何,查找程序。

我不知道这在Python中的等价物是什么,但是您可以使用xattr来查找


我忘记了mdls-n kMDItemFinderComment。我知道几个月前有人问过这个问题,但这就是我通过Python和popen关注评论的方式

cmd = subprocess.Popen(['mdls', '-name', 'kMDItemFinderComment',pathtofile], stderr=subprocess.STDOUT,stdout = subprocess.PIPE )
out,err = cmd.communicate()

print out

因此,如果这对您很重要的话,它使用的是MDL而不是xattr,但是您似乎可以继续使用您构建的xattr命令字符串,只要您告诉Popen将STDOUT发送到哪里,然后使用.communicate。

我知道几个月前有人问过这个问题,但这就是我通过Python和Popen关注评论的方式

cmd = subprocess.Popen(['mdls', '-name', 'kMDItemFinderComment',pathtofile], stderr=subprocess.STDOUT,stdout = subprocess.PIPE )
out,err = cmd.communicate()

print out

因此,如果这对您很重要的话,它使用的是MDL而不是xattr,但是您似乎可以继续使用您构建的xattr命令字符串,只要您告诉Popen在哪里发送STDOUT,然后使用.communicate。

这让我更接近了,因为我可以将xattr放入Popen中。但是我不知道如何让popen返回在这种情况下通常会返回的shell。这让我更接近,因为我可以将xattr放入popen中。但是我不知道如何让popen返回shell在这种情况下通常会返回的内容。对不起,文本似乎没有正确粘贴在答案中。subprocess.PIPE和out后面应该有一个换行符,err=…对不起,答案中的文本似乎粘贴不正确。subprocess.PIPE和out后面应该有一个换行符,err=。。。