Я пытаюсь добавить значение в реестр, который содержит пробелы, и по этой причине я хочу сохранить двойные кавычки.
Я пытался экранировать двойные кавычки с помощью '\ "', но этого не былоэффект
path_with_spaces = "C:\Users\me\i have space\app.exe"
argument_with_spaces = "Quick brown fox"
data = '"{}" -n "{}"'.format(path_with_spaces, argument_with_spaces)
command = 'REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /f /v test /d "{}"'.format(data)
subprocess.call(command)
если я напечатаю «команду», то получу:
REG ADD HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run / f / v test / d ""C: \ Users \ me \ У меня есть пробел \ app.exe "-n" Быстрая коричневая лиса ""
, но при проверке результата с помощью regedit нет двойных кавычек. Даже еслия делаю это:
data = '\"{}\" -n \"{}\"'.format(path_with_spaces, argument_with_spaces)
Без изменений. Вывод при проверке с помощью regedit всегда такой:
C: \ Users \ me \ у меня есть пробел \ app.exe -n Быстрая коричневая лиса
Что я делаю не так?