使用模块sys可以得到像这样的命令行参数
import sys
for x in sys.argv:
print x
然后在命令shell [ubunto]
>>python file.py 1, 2, 3
这将打印 文件[文件名] 1 2 3 现在我怀疑了 在python documentaion 3.0.1中提到了
如果没有脚本名称传递给Python解释器,则argv [0]为空字符串。
>>python 1, 2, 3
如果我没有传递脚本名称,则会导致“无法打开文件”的错误。当你没有传递脚本名称时,如何将argv [0]初始化为空字符串?
答案 0 :(得分:1)
在shell中,您可以执行python -c "print 'Hello World!'"
之类的操作,也可以通过管道将源代码放入python中。在这种情况下,python没有可用的文件名。在所有其他情况下,Python将具有文件名。即使你使用shebang-line:
#! /usr/bin/python
然后致电
./file.py 1, 2, 3
shell会将其转换为正确的解释器调用
python file.py 1, 2, 3