如何在unix中运行python函数?
可能重复:如何在unix中运行python函数?,python,unix,Python,Unix,可能重复: 每当我尝试在unix中运行python脚本时,都不会发生任何事情。我会按这句话打字 $ python script.py 所有的回报都是 $ 现在我知道这在我的代码中不是问题,因为它在空闲状态下运行良好,所以我想我需要在代码中添加一些其他内容,以便能够从命令行运行它。在一个关于python的google教程中,我被介绍到模板代码,该代码被附加到函数的末尾 def main(): print ... etc etc 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()
该函数在命令行上根本不会产生任何输出
即使我只是从单词main的末尾删除了n,每次它出现在上面的main函数中,它都不会起作用。如何使python函数在命令行上运行?python只允许运行名为main的函数到底是怎么回事
谢谢 当您从命令行运行python脚本时,\uuuuu name\uuuuuuuu始终是“\uuuuu main\uuuuu” 尝试以下方法:
def merge():
print ..
etc etc
if __name__ == '__main__':
merge()
在Python解释器中,您必须执行以下操作:
>>> import script
>>> script.merge()
从命令行运行python脚本时,名称始终为“\uuuuu main\uuuu” 尝试以下方法:
def merge():
print ..
etc etc
if __name__ == '__main__':
merge()
在Python解释器中,您必须执行以下操作:
>>> import script
>>> script.merge()
如果您从函数所在的同一文件运行代码,则不应更改
if __name__ == "__main__":
merge()
如果您只是在另一个文件中导入该模块,那么就不用担心了
再给你解释一下
如果您从函数所在的同一文件运行代码,则不应更改
if __name__ == "__main__":
merge()
如果您只是在另一个文件中导入该模块,那么就不用担心了
更多解释请阅读。如果未安装python,他将不会看到空提示,这里的问题更可能是一堆“未找到命令”,“为什么在空闲状态下运行的python程序不能在Unix上运行”,或者“为什么python只运行名为
main
”的函数?”请阅读。如果未安装python,他不会看到一个空的提示,更可能的是一堆“command not found”,这里的问题是“为什么在空闲状态下运行的Python程序不能在Unix上运行”,或者“为什么Python只运行名为main
”的函数?”如果它是主模块,那么它并不总是“main”,而是main。如果导入,它没有名字“main”是的——我做了一个编辑来反映我的意思。是的,就是这样。你知道,我认为可能就是这样,然后我想,“不,那太愚蠢了,什么样的教程会教你写一个名为main的函数,然后在其中引用另一个完全称为main的函数,比如为什么不把这个函数称为其他函数”。。。该死的谷歌。好吧,它并不总是“主”,如果它是主模块的话,它只是主模块。如果导入,它没有名字“main”是的——我做了一个编辑来反映我的意思。是的,就是这样。你知道,我认为可能就是这样,然后我想,“不,那太愚蠢了,什么样的教程会教你写一个名为main的函数,然后在其中引用另一个完全称为main的函数,比如为什么不把这个函数称为其他函数”。。。该死的谷歌。