每当我尝试在Unix中运行我的python脚本时,什么都不会发生。我会顺着字里行间打字
$ python script.py
而退还的只是
$
现在我知道这在我的代码中不是问题,因为它在IDLE中运行得很好,所以我认为我需要在代码中添加一些其他东西,以便能够从命令行运行它。在一篇关于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函数在命令行上运行?而只允许运行名为main的函数,这又是怎么回事呢?
谢谢!
2条答案
按热度按时间xpszyzbs1#
从命令行运行python脚本时,__name__始终为‘main’。
试着这样做:
在Python解释器中,您必须执行更多类似的操作:
cnh2zyt32#
如果从函数所在的同一文件中运行代码,则不应更改
如果您只是在另一个文件中导入该模块,就不必为此操心了
This link再给你解释一点