Запуск скомпилированного python-скрипта приводит к ошибкам с отсутствующими файлами

#xml #xsd #pyinstaller #python-3.9 #python-xmlschema

#xml #xsd #pyinstaller #python-3,9 #python-xmlschema

Вопрос:

Я хочу написать программу, которая работает в оболочке Windows. Для его запуска я использую переключатель Enfocus «выполнить команду». Программа принимает два аргумента arg1-это xml, а arg2-файл определения XML-схемы xsd. Когда программа завершится, она должна вернуть код выхода 0, как ожидается от коммутатора. Когда это не удается, выйдите из кода 1. Кроме того, я хочу, чтобы он печатал результаты проверки, которые я упаковал в формате JSON, как объект.

Мой код до сих пор:

 import xmlschema import sys  sysargs = sys.argv path2xml = sysargs[1] path2xsd = sysargs[2]  def xsdValidation(path2xml,path2xsd ):  my_schema = xmlschema.XMLSchema(path2xsd)  validationResult = ""  if path2xml[-3:] == "xml" and path2xsd[-3:] == "xsd":    try:  valid = my_schema.is_valid(path2xml)  validationResult = my_schema.validate(path2xml)  except Exception as e:  validationResult = str(e)  sys.stdout.write( {"file":str(path2xml), "valid": valid, "validationResult":validationResult } )  sys.exit(0) xsdValidation(path2xml, path2xsd)  

Я компилирую скрипт с помощью «pyinstaller —onefile validateXML.py» и он успешно работает. Но когда я начну validateXML.exe в cmd или powershell, например «./validateXML.exe c:/user/Documents/XMLvalidation/test.xml c:/user/Documents/XMLvalidation/test.xsd» in приводит к некоторым отсутствующим ошибкам в файлах.введите описание изображения здесьвведите описание изображения здесь