提问人:Jay Gudger 提问时间:8/11/2023 最后编辑:BarmarJay Gudger 更新时间:8/11/2023 访问量:39
为什么无法使用 sys.argv 将字符串“curve?”传递给 python 脚本
Why is it impossible to pass the string "curve?" to a python script using sys.argv
问:
第一次发帖,长期谷歌用户。 好的,我有一个解决方法,但是,就我的生命而言,我无法弄清楚为什么会发生这种情况。
import sys
print(sys.argv)
这不会打印“曲线?如果像这样传递python3 script.py curve?
它打印“曲线”
我试过了
python3 script.py 'curve?'
python3 script.py "curve?"`
python3 script.py curve\?`
python3 script.py \curve?`
python3 script.py r'curve?'
在许多其他组合中。它总是返回,而不带 orcurve
?
curve\ ?
这就是它变得奇怪的地方,它会正确打印单词的不同部分。
python3 script.py cuve?
python3 script.py cure?
python3 script.py urve?
所有打印都正确,但它变得更奇怪,因为
python3 script.py curv?
指纹curve
就像我说的,我有一个解决方法。但我真的希望有人能解释为什么这可能行不通。我确实有一个有点奇怪的设置,所以如果没有其他人可以复制它,我会假设这是我的设置。我在 Windows 64 上从 msys1 运行 0.
答: 暂无答案
评论
?
对 shell 有特殊含义,它是一个通配符。如果您有名为 等的文件,它将扩展到这些文件名。curve1, curve2
python3 script.py "curve?"
python3 script.py curve\?
curve?
python3 script.py curv?
curve
curve