У меня есть программа, которая обрабатывает контент HTML.С помощью аргумента командной строки я могу передать ему тестовые строки.
Из командной строки Windows (cmd.exe) я могу запустить его без проблем, используя
C:\Python36\python.exe program.py -t "<head><title>Test</title></head>"
Я не могу получитьзапустите конфигурацию, которая передаст этот аргумент правильно.
Я получаю следующие ошибки
< was unexpected at this time.
или
The system cannot find the file specified.
Какой файл он ищет, не упоминается
Проблема может быть вызвана тем фактом, что все передается в качестве аргумента cmd внутри кавычек.
Я использую стандартную конфигурацию Python: Current File
с добавленной опцией args
{
"name": "Python: Debug with args",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"args" : ["-t","<head><title>Test</title></head>"]
}
Добавление кавычек с одним экранированием
"args" : ["-t","\"<head><title>Test</title></head>\""]
или двойным экранированием (см. Документацию по запуску C ++)
"args" : ["-t","\\\"<head><title>Test</title></head>\\\""]
не решило проблему.
Редактировать
Частичное решение, работает только в новом терминале :
Добавить пробел в строке аргумента ==> VSC экранирует аргумент вдвойные кавычки
"args" : ["-t","<head><title>Test</title> </head>"]
Однажды я прочитал некоторую документацию о том, как позволить VSC обернуть аргумент в одинарные или двойные кавычки.Но я не могу найти этот документ в текущей версии.