如何从命令行调用Python程序中的函数

时间:2013-03-12 00:19:45

标签: python windows cmd

例如,假设我有一个名为myscript.py的文件

此文件包含以下代码。

foo(var):
   return var

如何在命令行上使用参数var调用函数foo。

我知道我可以转到myscript.py所在的目录并输入。

>>> python myscript.py

将运行myscript.py。唯一的问题是myscript.py在运行时不会自动调用foo。

我尝试过使用

if __name__ == "__main__":
    foo( )

这对我不起作用。出于某种原因,当我这样做时,没有任何反应我没有收到任何错误消息,也没有任何内容被调用。

2 个答案:

答案 0 :(得分:2)

您没有获得任何输出,因为您没有生成任何输出。尝试拨打print

def foo(var):
    print(var)

if __name__ == '__main__':
    foo('Hello, world')

答案 1 :(得分:0)

您必须使用sys模块从命令行传递参数。 你可以这样做:

import sys

def foo(var):
  return var

if __name__ == '__main__':
  # arguments check
  if len(sys.argv) != 2:
    print "USAGE: %s <value>" % sys.argv[0]
    sys.exit(1)

  # get the agument so as to use it to the function call
  arg = sys.argv[1]

  # call the function using this argument
  val = foo(arg)

  # print the returned value
  print val

然后你可以通过这个命令运行你的python脚本: python myscript.py 3 作为论据给出例如3号