0

使用模块 sys 可以获得这样的命令行参数

import sys
for x in sys.argv:
    print x

然后在命令 shell[ubunto]

>>python file.py 1, 2, 3

这将打印 file[filename] 1 2 3 现在我在 python 文档 3.0.1 中提出了疑问,它提到了

如果没有将脚本名称传递给 Python 解释器,则 argv[0] 是空字符串。

>>python  1, 2, 3

如果我没有传递脚本名称,则会导致“无法打开文件”的错误。当您不传递脚本名称时,如何将 argv[0] 初始化为空字符串?

4

1 回答 1

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
于 2013-01-08T06:54:40.263 回答