每当我尝试在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()
该函数在命令行上根本不会产生任何输出 即使我刚刚从单词main的末尾删除了n,每次它出现在上面的main函数中时,它都不起作用。如何在命令行上运行python函数?什么是python只能让名为main的函数运行?
谢谢!
答案 0 :(得分:2)
当您从命令行运行python脚本时,_ _ name__始终为'__main __'。
尝试类似:
def merge():
print ..
etc etc
if __name__ == '__main__':
merge()
从Python解释器中,你必须做更多的事情:
>>> import script
>>> script.merge()
答案 1 :(得分:2)
__name__ == "__main__"
如果您从同一文件中运行代码,则不应更改
if __name__ == "__main__":
merge()
如果您只是在另一个文件中导入该模块,请不要为此烦恼
This link更多地解释了你