私は最初の Python スクリプトを 99% 実行しましたが、ディレクトリ内のファイルに対する for-each ループに相当するものにつまずいてしまいました。私のスクリプトは単一のファイルに対して機能していますが、一度に 1 つずつ複数のファイルに適用する方法がわかりません。
path = ~/documents
除外したいファイル名を含むパスと XML ファイルがあります。
<root><synced name="Already Synced"><sfile name="Filename">base</sfile><sfile name="Filename">File1.blah</sfile><sfile name="Filename">File2.blah</sfile><sfile name="Filename">File3.blah</sfile></synced></root>
*.blah
たとえば、 XML sfile で終わり、XML sfile に含まれていないすべてのファイルに対してスクリプトを実行するにはどうすればよいでしょうか。
私はこれを持っていましたが、それはうまくいきませんでした:
path = '~/documents'
tree = ET.parse("sync_list.xml")
root = tree.getroot()
for elem in root.findall('sfile'):
synced = elem.text
do_library = os.listdir(path)
if glob.fnmatch.fnmatch(file,"*.blah") and not synced:
for entry in do_library:
file = os.path.join(path, entry)
result = plistlib.readPlist('file')
ご協力いただきありがとうございます。