2

Pythonでスポットライトコメントを取得しようとしています。今必要なのは、同じことを実行した場合にシェルが通常出力するものを popen が返す機能だけです。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
4

2 に答える 2

0

Pythonでこれに相当するものが何であるかはわかりませんが、xattrを使用して拡張属性をXMLプロパティリストとして出力できます。

#!/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は常にコメントを拡張属性に保存するとは限りません

于 2012-09-24T06:25:20.727 に答える
0

この質問が数か月前に出されたことは知っていますが、これが私が Python と popen を介してコメントにスポットライトを当てる方法です。

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

print out

したがって、問題がある場合は xattr ではなく mdls を使用していますが、Popen に送信先を伝えてSTDOUTから.communicate().

于 2013-05-06T14:33:14.767 に答える