Когда аргументы SubProcess.Run () передаются с двойными кавычками, он добавляет дополнительный символ '\'
до и после двойных кавычек и вызывает проблему с current.exe, который вызывается скриптом python.
def RunWithJsonResponse(self, commandList, argumentList):
commandList.extend(argumentList)
process = subprocess.run(commandList, stdout=subprocess.PIPE)
'''process already returns in Json format'''
Response = process.stdout.decode('utf-8')
'''translate to python dictionary'''
ResponseDicts = {}
try:
ResponseDicts = json.loads(Response)
except:
ResponseDicts = json.loads(json.dumps(Response))
print(Response)
commandList.clear()
return ResponseDicts
Пример списка команд, отправляемых сценарием python = ['C:\\Users\\srw.exe', 'port=COM3', 'writebytes="09 78 00 00"']
команда, полученная в конце.exe = C:\\Users\\srw.exe port=COM3 writebytes=\"09 78 00 00"\
Поэтому я хотел бы найтиспособ избавиться от этого дополнительного символа '\'
на другом конце.
Я сделал следующее, когда сконструирован третий аргумент 'writebytes=' + ' \" ' + 09 78 00 00 + ' \" '
..но мне не повезло