Как редактировать один или несколько файлов XML из контекстного меню правой кнопкой мыши в Python? - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь отредактировать один или несколько файлов 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

...