为什么在python中打印参数不会';不行?
我试图向我的朋友解释sys.argv是如何工作的。我从命令行运行了这个代码段(在cmd和bash上进行了测试) 但令我惊讶的是,这是输出:为什么在python中打印参数不会';不行?,python,command-line-arguments,Python,Command Line Arguments,我试图向我的朋友解释sys.argv是如何工作的。我从命令行运行了这个代码段(在cmd和bash上进行了测试) 但令我惊讶的是,这是输出: ['-c', 'bla', 'stas'] 我被难住了——为什么引号“import sys;print(sys.argv)”中的表达式不在参数列表中?第二个地方不应该是这样的吗 ['-c', '"import sys; print(sys.argv)"', 'bla', 'stas'] ?来自: argv[0]是脚本名(这取决于操作系统是否为完整路径名)
['-c', 'bla', 'stas']
我被难住了——为什么引号“import sys;print(sys.argv)”
中的表达式不在参数列表中?第二个地方不应该是这样的吗
['-c', '"import sys; print(sys.argv)"', 'bla', 'stas']
?来自:
argv[0]
是脚本名(这取决于操作系统是否为完整路径名)。如果使用解释器的-c
命令行选项执行命令,argv[0]
被设置为字符串'-c'
将命令本身也放在
argv[]
中是错误的,因为它不是脚本的参数。参数只是bla
和stas
Python将-c
参数视为特例,不将代码字符串放入sys.argv
中
['-c', '"import sys; print(sys.argv)"', 'bla', 'stas']