我不明白sys.argv
和argv
之间的区别,网上没有任何东西能让我理解这个概念。如果两者都是一样的!我们何时使用sys.argv
以及何时使用argv
?
如果不是sys.argv
。我知道什么是argv
。
答案 0 :(得分:9)
它们是相同的,它只取决于你如何编写import语句。
import sys
如果您这样写,那么您必须参考sys.argv
。
from sys import argv
from sys import *
如果你写了其中任何一个,那么你可以简单地写argv
而没有sys.
限定符。
答案 1 :(得分:1)
from __future__ import print_function
import sys
print(sys.argv, len(sys.argv))
> python print_args.py
['print_args.py'] 1
> python print_args.py foo and bar
['print_args.py', 'foo', 'and', 'bar'] 4
> python print_args.py "foo and bar"
['print_args.py', 'foo and bar'] 2
> python print_args.py "foo and bar" and baz
['print_args.py', 'foo and bar', 'and', 'baz'] 4
如您所见,命令行参数包括脚本名称,但不包括解释器名称。从这个意义上说,Python将脚本视为可执行文件。如果您需要知道可执行文件的名称(在本例中为python),则可以使用sys.executable。