如何在unix中运行python函数?

可能重复:
<if __name __ ==“__ main __”:>做什么?

每当我试图在unix中运行我的python脚本时,什么都不会发生。 我会沿着线输入一些东西

 $ python script.py

所有将返回的是

 $

现在我知道它在我的代码中没有问题,因为它在闲置状态下运行良好,所以我想我需要在代码中添加其他内容以便能够从命令行运行它。 在一个关于python的Google教程中,我介绍了一些样板代码,这些代码粘贴到函数的末尾

def main():
  print ...
  etc etc
if __name__ == '__main__':
  main()

如果我编写一个名为main的函数并运行它就像它工作正常。 但是,当我命名我的功能别的,别的,它不会工作。 例如

def merge():
  print ..
  etc etc
if __name__ == '__merge__':
  merge()

该函数在命令行中根本不会产生任何输出即使我刚刚将word从main main的结尾中删除,每次它出现在上面的主函数中时,它都不起作用。 如何让一个python函数在命令行上运行? 以及python只能让main函数运行?

谢谢!


当你从命令行运行python脚本时,__name__总是'__main__'。

试试像这样:

def merge():
  print ..
  etc etc
if __name__ == '__main__':
  merge()

从Python解释器中,你必须做更多的事情:

>>> import script
>>> script.merge()

__name__ == "__main__"

不应该改变,如果你从你有你的函数的同一个文件运行代码

if __name__ == "__main__":
    merge()

不要担心,如果你只是在另一个文件中导入该模块

这个链接向你解释了更多

链接地址: http://www.djcxy.com/p/9321.html

上一篇: How to run python functions in unix?

下一篇: Flow of execution in Python