Я пытаюсь отредактировать один или несколько файлов XML из контекстного меню Windows (щелкнуть правой кнопкой мыши, отправить), но я застрял при получении Python для использования списка, который я получаю из sys.argv
.Каков будет правильный способ заставить синтаксический анализатор XML открывать все или даже один из файлов в моем списке "file_path"?
Я надеюсь, что я не расплывчатый, я не хочу "обманывать""и прямо сейчас получите полное решение.
Мой код пока:
import sys, xml.etree.ElementTree as ET
#full path to files sent to script
file_path = sys.argv[1:]
#example of filepath from sys.argv[1:]
#file_path = ['C:\\Users\\amfri\\Documents\\vegmodell\\22500_02_400_O.xml']
#number of files sent to script
number = len(sys.argv)-1
#print full path
print(*file_path, sep="\n")
#print number of files sent to script
if number == 1:
print(number, "fil funnet")
elif number > 1:
print(number, "filer funnet")
elif number < 1:
input("ingen filer funnet\ntrykk en tast for å avslutte")
exit()
tree = ET.parse(file_path)
root = tree.getroot()
#to stop script
input()
Запуск его дает мне следующие ошибки:
C:\Users\amfri\Documents\vegmodell\22500_02_400_O.xml:
0 fil funnet
Traceback (most recent call last):
File "C:\Users\amfri\Documents\Python\cleaner.py", line 22, in <module>
tree = ET.parse(file_path)
File "C:\Users\amfri\AppData\Local\Programs\Python\Python37-32\lib\xml\etree\ElementTree.py", line 1197, in parse
tree.parse(source, parser)
File "C:\Users\amfri\AppData\Local\Programs\Python\Python37-32\lib\xml\etree\ElementTree.py", line 587, in parse
source = open(source, "rb")
TypeError: expected str, bytes or os.PathLike object, not list
Кстати: это мойВторой проект Python когда-либо ... поэтому я прошу прощения за любые глупые вопросы: P