我是Python的新手,我使用的是Python 3.3.2。我运行了以下代码:
import sys
def random(size=16):
return open(r"C:\Users\ravishankarv\Documents\Python\key.txt").read(size)
def main():
key = random(13)
print(key)
并期望它在密钥文件中打印内容。该程序在IDLE上运行没有错误,但没有任何反应。密钥未打印。
有人可以帮忙吗?
答案 0 :(得分:9)
你根本没有调用你的main函数,所以Python解释器不会为你调用它。
将此添加为最后一行,以便始终调用它:
main()
如果您使用常见的:
if __name__ == "__main__":
main()
只有当Python解释了该模块作为起始代码执行时,才会确保调用main方法,这里将讨论更多相关内容:What does if __name__ == "__main__": do?
如果您想知道如何编写最好的“主要”功能,Guido van Rossum (the creator of Python) wrote about it here.
答案 1 :(得分:6)
Python与自动调用main()
函数的其他语言不同。你所做的就是定义你的功能。
您必须手动调用主要功能:
main()
此外,您可能会在某些代码中看到这一点:
if __name__ == '__main__':
main()
答案 2 :(得分:2)
python中没有这样的main
方法,你要做的是:
if __name__ == '__main__':
main()
答案 3 :(得分:1)
您正在定义一个函数,但从不调用它。因此,您没有错误但没有任何反应。添加此添加结束,它将起作用:
if __name__ == "__main__":
main()
答案 4 :(得分:0)
你没有打电话给这个功能。将main()
放在代码的底部。