Мне нужна помощь с перемещением файла l oop. Что мне делать: я пытаюсь проанализировать файлы XML в указанном каталоге c, найти определенный узел c в каждом файле и, основываясь на значении внутри одного из атрибутов, намереваюсь переместить файл в другой каталог. Я также хотел бы иметь бесконечное число l oop (при условии, что файлы могут попадать в папку все больше и больше). Вот мой код:
import xml.etree.ElementTree as ET
import os
import shutil
count = 0
while (count<1):
directory = r'C:\Users\Elitebook\Desktop\Folder'
destination = r'C:\Users\Elitebook\Desktop\Folder2'
for filename in os.listdir(directory):
if filename.endswith('.xml'):
fullname = os.path.join(directory, filename)
tree = ET.parse(fullname)
root = tree.getroot()
Value_1 = (root.find("./some way to xml node").attrib['attrib'])
if Value_1 == "1":
shutil.move(fullname, destination)
continue
Так что это работает как задумано. Перемещает все файлы из первой папки во вторую. После этого я пытаюсь добавить в первую папку новые файлы xml и после этого получаю сообщение об ошибке:
Traceback (most recent call last):
File "C:\Users\Elitebook\Desktop\Folder\New.py", line 13, in <module>
tree = ET.parse(fullname)
File "C:\Users\Elitebook\AppData\Local\Programs\Python\Python37\lib\xml\etree\ElementTree.py", line 1197, in parse
tree.parse(source, parser)
File "C:\Users\Elitebook\AppData\Local\Programs\Python\Python37\lib\xml\etree\ElementTree.py", line 587, in parse
source = open(source, "rb")
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Elitebook\\Desktop\\Folder\\test1.xml'
Я предполагаю, что ошибка может быть как-то связана с двойными зазорами, как указано в последней строке ошибки, но всякий раз, когда я менял код, он тоже не работал. Если честно, я впервые использую Python, поэтому не могу понять, где я застрял. Любая помощь приветствуется.
Заранее спасибо,
это