Как отладить / запустить программу с аргументом, содержащим "<" и ">" - PullRequest
1 голос
/ 19 сентября 2019

У меня есть программа, которая обрабатывает контент 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 обернуть аргумент в одинарные или двойные кавычки.Но я не могу найти этот документ в текущей версии.

1 Ответ

0 голосов
/ 19 сентября 2019

Что делать, если вы попытаетесь настроить свои аргументы так:

"args" : '-t "<head><title>Test</title></head>"'

вместо

"args" : ["-t","<head><title>Test</title></head>"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...