Как добавить "в строку в Python - PullRequest
1 голос
/ 09 марта 2019

Я пытаюсь запустить торрент-загрузчик в Windows, который выполняется из командной строки.Он принимает такую ​​команду, как torrent "magnet_link".У меня проблема в том, что когда я запускаю команду из python, используя os.system("start /wait cmd /c torrent " + '"' + link + '"'), по какой-то причине символ " не отображается в запущенном окне командной строки, что делает команду бесполезнойОтвет, который я получаю: 'dn' is not recognized as an internal or external command, operable program or batch file.

Ответы [ 2 ]

2 голосов
/ 09 марта 2019

Использование можно использовать встроенный str.center:

link = 'http://stackoverflow.com'
print("start /wait cmd /c torrent %s" % link.center(len(link)+2, '"'))

# start /wait cmd /c torrent "http://stackoverflow.com"
1 голос
/ 09 марта 2019

Кавычки в оболочке интерпретируются, если вы не избегаете их. Чтобы избежать их, добавьте обратную косую черту. Смотрите здесь:

os.system("start /wait cmd /c torrent \\\"{}\\\"".format(link))

Что происходит:

  • \\ интерпретируется как одиночная обратная косая черта
  • \" интерпретируется как кавычка
  • .format(link) заменяет {} на link, чтобы избежать добавления строк (только для стиля кода)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...