Python 2.7 为什么python在运行脚本时将其视为参数?

Python 2.7 为什么python在运行脚本时将其视为参数?,python-2.7,arguments,interpreter,Python 2.7,Arguments,Interpreter,因此,我决定在“艰苦学习python”中完成每个练习(以及练习的每个部分),并得出以下结论: 将raw_input与argv组合,生成一个脚本,从用户那里获得更多输入。别想太多。只需使用argv获取某些内容,使用原始输入从用户获取其他内容 因此,为了遵守本练习,我提出以下建议: from sys import argv name = argv print "Your name is %s" %(name) 然后,当我运行它(python module.py myname)时,结果如下: You

因此,我决定在“艰苦学习python”中完成每个练习(以及练习的每个部分),并得出以下结论:

raw_input
argv
组合,生成一个脚本,从用户那里获得更多输入。别想太多。只需使用
argv
获取某些内容,使用原始输入从用户获取其他内容

因此,为了遵守本练习,我提出以下建议:

from sys import argv
name = argv
print "Your name is %s" %(name)
然后,当我运行它(
python module.py myname
)时,结果如下:

Your name is ['module.py', 'myname']
为什么python在同时读取脚本时将module.py视为参数


我知道如果我们处理的是exe,它不会这样做。

argv
是一个数组,包含所有参数,包括第0个参数,该参数是调用程序的名称;这是一个C公约

我知道如果我们处理的是exe,它不会这样做


我声称你的说法是错误的<在这种情况下,code>argv[0]应该是可执行文件名

但是当我在c中使用这样的程序时,如果我将参数放在可执行文件之后,程序会将自身视为一个正在运行的二进制程序,将参数视为一个参数。不,在c中,
argv
是一个数组,
argv[0]
也包含调用的可执行文件名。Python与此一致。