无法从conole传递参数值

时间:2017-12-11 09:23:04

标签: python

Iam尝试使用一个简单的脚本,我想打印通过命令行解析的值。但是在运行脚本时,它不会产生预期的输出

程序名称为python commadn_line_argu.py

import sys


def main():
    for arg in sys.argv[1:]:
        print "Given arfument is ", arg

if __name__=="_main_":
   main()

请参阅随附的屏幕截图 enter image description here

感谢是否有人可以提供帮助

由于

4 个答案:

答案 0 :(得分:1)

将其命名为python filname.py argument_name

答案 1 :(得分:1)

首先,当作为脚本执行时,模块的魔术变量__name__设置为"__main__"(不是"_main_" - 注意 double 下划线),所以你必须修复这个测试。

然后当然,如果你没有在命令行上传递任何参数,你不能期望在这里有任何输出......

答案 2 :(得分:-1)

模块直接运行时的__name__值为__main__,而不是_main_。更改您检查的值,您应该好好去。 (记住要实际传递一些参数!)

答案 3 :(得分:-1)

您的问题与How to read/process command line arguments?重复 您可以在那里找到更多详细信息,或使用以下代码:

import sys

def main():
    for arg in sys.argv[1:]:
        print "Given argument is ", arg

#_main_ should be __main__
if __name__ == "__main__":
    main()