Привет всем, я новичок в программировании и python, но у меня почти работает этот фрагмент кода. Мне просто нужно выяснить, как заставить аргументы, вызываемые в командной строке, работать с моим кодом. То, что я пробовал, не сработало, а именно эта часть:
tree.find("./PLANT/[COMMON='%s'" % sys.argv[3]):
Вот весь мой код:
import os
import xml.etree.ElementTree as ET
import sys
# changes to the correct directory of each different environment
os.chdir(os.path.expanduser('~/Desktop'))
file = "plant_catalog.xml"
tree = ET.parse(file)
# Finds section by plant name and adjusts the price according to argument
for plant in tree.find("./PLANT/[COMMON='%s'" % sys.argv[3]):
if plant.tag == "PRICE":
plant.text = float(plant.text) * sys.argv[4]
plant.text = str(plant.text)
print(plant.text)
tree.write("plant_catalog.xml")
Вот вылетающие ошибки:
Трассировка (последний последний вызов): файл «C:/Users/cader/PycharmProjects/ModifyML/ModifyML.py», строка 14, для завода в дереве. найдите (имя): файл «C:\Users\cader\AppData». \Local\Programs\Python\Python37\lib\xml\etree\ElementTree.py", строка 653, в поиске return self._root.find(path, namespaces) File "C:\Users\cader\AppData\Local\Programs \Python\Python37\lib\xml\etree\ElementPath.py", строка 307, в find return next(iterfind(elem, path, namespaces), None) File "C:\Users\cader\AppData\Local\Programs\ Python\Python37\lib\xml\etree\ElementPath.py", строка 300, результат iterfind = select(context, result) TypeError: объект "NoneType" не вызывается
Процесс завершен с кодом выхода 1
Мне очень жаль, если это плохо отформатировано, я создал учетную запись только для того, чтобы задать этот вопрос.