Неверный литерал для int () с основанием 16 - PullRequest
0 голосов
/ 25 февраля 2019

У меня проблема с кодом ниже.Я запускаю скрипт Python для запуска exe и передачи ему параметров.Я получаю следующее сообщение об ошибке: ValueError неверный литерал для int () с основанием 16:

Однако, если я поставлю лишнюю точку с запятой (которая мне не нужна) после 0 и перед двойной кавычкой, это будет работать.Что-то не так с моей строкой?

program="C:\Program Files (x86)\program.exe"
args='"21022019;A0A1A2A3A4A5A6A7;B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF;1;1982;0"-e fixed -k aa11bb22cc33dd44ee55ff6600112233 -f jf_Creds_python.hex'
subprocess.call([program,args])

Это полная ошибка:

Traceback (most recent call last):
  File "<string>", line 249, in <module>
    File "<string>", line 53, in main 
ValueError: invalid literal for int() with base 16: '"21022019' 

1 Ответ

0 голосов
/ 26 февраля 2019

Я нашел исправление, но на самом деле не понимаю его.

program="C:\Program Files (x86)\program.exe"
args='"21022019;A0A1A2A3A4A5A6A7;B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF;1;1982;0"-e fixed -k aa11bb22cc33dd44ee55ff6600112233 -f jf_Creds_python.hex'
subprocess.call([program,{args}])

Если я поставлю фигурные скобки вокруг арг, это будет успешно.Это работает сейчас, но я не совсем уверен, как это работает, если кто-то может объяснить, это было бы здорово?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...