为什么我的Python脚本没有通过命令行运行?

时间:2016-10-19 18:01:28

标签: python

谢谢!

def hello(a,b):
    print "hello and that's your sum:"
    sum=a+b
    print sum
    import sys

if __name__ == "__main__":
hello(sys.argv[2])

它对我不起作用,我很感激帮助!!! 谢谢!

2 个答案:

答案 0 :(得分:4)

如果没有看到您的错误消息,很难确切地说出问题是什么,但有些事情会跳出来:

  • 如果__name__ ==“__ main __”之后没有缩进:
  • 你只是将一个参数传递给hello函数,它需要两个。
  • 在hello函数之外的范围内看不到sys模块。

可能更多,但同样需要错误输出。

以下是您可能想要的内容:

import sys

def hello(a,b):
    print "hello and that's your sum:"
    sum=a+b
    print sum

if __name__ == "__main__":
    hello(int(sys.argv[1]), int(sys.argv[2]))

答案 1 :(得分:3)

  • 全局范围中导入sys,而不是在函数的末尾。
  • 两个参数发送到hello,其中一个还不够。
  • 将这些参数转换为浮动,以便将它们添加为数字。
  • 缩进正确。在python缩进确实很重要。

这应该导致:

import sys

def hello(a, b):
    sum = a + b
    print "hello and that's your sum:", sum

if __name__ == "__main__":
    hello(float(sys.argv[1]), float(sys.argv[2]))