我正试图用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
答案 0 :(得分:0)
我不知道在Python中这相当于什么,但你可以使用xattr到print the extended attribute as an XML property list。
#!/usr/bin/env ruby -KU
require 'cgi'
plist = `xattr -p com.apple.metadata:kMDItemFinderComment test.txt |
xxd -r -p | plutil -convert xml1 -o - -`
puts CGI.unescapeHTML(plist.scan(/<string>(.*?)<\/string>/m)[0][0])
我忘记了mdls -n kMDItemFinderComment
。无论如何,Finder doesn't always store the comments in extended attributes。
答案 1 :(得分:0)
我知道这个问题是在几个月前被问到的,但这就是我通过Python&amp; amp; POPEN。
cmd = subprocess.Popen(['mdls', '-name', 'kMDItemFinderComment',pathtofile], stderr=subprocess.STDOUT,stdout = subprocess.PIPE )
out,err = cmd.communicate()
print out
所以它使用mdls而不是xattr,如果这对你很重要,但似乎你可以继续使用你构建的xattr命令字符串,如果你只是告诉Popen在哪里发送STDOUT
然后使用{{ 1}}。