问题描述
我想测试我的Python脚本的通配符处理。因此,我想移交包含通配符的文件路径,例如 data / *。xml 。
如果我直接在外壳中调用脚本
my_script.py data/\*.xml
但是,我无法通过vscode的启动配置来实现这一目标。
{
"version": "0.2.0","configurations": [
{
"name": "Python: my_script","type": "python","request": "launch","program": "${workspaceFolder}/my_script.py","console": "integratedTerminal","args": ["mine","${workspaceFolder}/data/\\*.xml"]
}
]
}
此启动失败:
% cd /Users/tom/Documents/evaluate ; env /Users/tom/Library/python3.8/bin/python /Users/tom/.vscode/extensions/ms-python.python-2020.8.103604/pythonFiles/lib/python/debugpy/launcher 52992 -- /Users/tom/Documents/evaluate/my_script.py mine /Users/tom/Documents/evaluate/data/\\*.xml
zsh: no matches found: /Users/tom/Documents/evaluate/data/\*.xml
我尝试了其他几种变体来引用通配符,但没有成功,例如shell转义不起作用,shell在将路径移交给脚本之前扩展了通配符。
您知道如何在启动配置的“ args:”中正确定义路径吗?
解决方法
这似乎确实是一个错误。转义无法正常工作,并且会根据所使用的控制台而有所不同。
请参考相关Github ticket.
中的讨论