为什么 python 将我的脚本视为参数,而 运行 却将其视为参数?

Why does python treat my script like an argument while running it?

所以我决定在 "learn python the hard way" 中完成每个练习(以及练习的每个部分),然后我得出了这个:

raw_inputargv 相结合,制作一个可以从用户那里获得更多输入的脚本。别想太多了。只需使用 argv 来获取某些东西,然后使用 raw_input 从用户那里获取其他东西。

所以为了配合练习,我做了这个:

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 是一个 array,包含所有参数,包括第 0 个参数,这是调用程序的名称;那是 C 约定。

I know it would not do this if we were dealing with an exe.

我声明您的声明是错误的。在这种情况下,argv[0] 应该是可执行文件的名称。