sys.argv [0]始终不返回任何内容

时间:2019-01-04 02:33:53

标签: python read-eval-print-loop argv sys

我试图使用sys.argv [0]来获取脚本的名称,但没有返回任何内容。我想那是因为没有脚本名称传递给Python解释器,但我不知道如何解决它。

我的代码:

import sys
print ("This is the name of the script: ", sys.argv[0])
sys.argv[0]

输出:

>>> import sys
>>> print ("This is the name of the script: ", sys.argv[0])
This is the name of the script:
>>> sys.argv[0]
''

谢谢

2 个答案:

答案 0 :(得分:1)

很好,

您正在解释器上运行代码,该解释器既不是模块也不是文件,因此sys.argv知道这一点,并为您提供了一个空字符串。

这是一个好兆头。

如果在实际的模块或文件中运行它,它将按预期运行。

答案 1 :(得分:0)

您应该在shell中运行代码,然后在python文件名旁边添加参数,就像:python3 test.py第一秒。然后在代码中,您可以在文件中找到args。

print(sys.argv[1]) -------> first<br>    
print(sys.argv[2]) -------> second

我希望这会有所帮助。