Python 命令行参数包围文本只能用双引号?

2018-01-04 15:32:40 +08:00
 goruningwall

比如
test.py:
import sys
args = sys.argv
print(args)
>>python test.py hello 'world hhh' "gg mm"
['test.py', 'hello', "'world", "hhh'", 'gg mm']

3303 次点击
所在节点    Python
5 条回复
jmc891205
2018-01-04 16:25:15 +08:00
我试了 Python2.7.2, Python3.3.4, Python3.6.0 都不能重现你这个问题
goruningwall
2018-01-04 19:06:51 +08:00
@jmc891205 我发现问题的根源,估计因为我的 cmd 装了 clink,在 powershell 测试就正常
akmonde
2018-01-04 21:49:43 +08:00
@goruningwall powershell 命令行里面再搞 py 的命令行,这么屌..
goruningwall
2018-01-05 10:08:02 +08:00
@akmonde 我不懂,这会出现什么问题吗?
Arnie97
2018-01-05 13:25:02 +08:00
命令行参数的解析是 Shell 完成的,跟 Python 没关系,只跟你用的是 cmd 还是 bash 有关,你用其他语言来测试 argv 结果也是一样的。

然后 cmd 只支持双引号。结贴

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/420054

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX