如何在Unix中运行PYTHON函数?

dohp0rv5  于 2022-10-17  发布在  Unix
关注(0)|答案(2)|浏览(166)

每当我尝试在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的函数,这又是怎么回事呢?
谢谢!

xpszyzbs

xpszyzbs1#

从命令行运行python脚本时,__name__始终为‘main’。
试着这样做:

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

在Python解释器中,您必须执行更多类似的操作:

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

cnh2zyt32#

__name__ == "__main__"

如果从函数所在的同一文件中运行代码,则不应更改

if __name__ == "__main__":
    merge()

如果您只是在另一个文件中导入该模块,就不必为此操心了
This link再给你解释一点

相关问题