6

我是 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 上运行没有错误,但没有任何反应。未打印密钥。

有人可以帮忙吗?

4

5 回答 5

17

你根本没有调用你的 main 函数,所以 Python 解释器不会为你调用它。

将此添加为最后一行,以便始终调用它:

main()

如果使用常见的:

if __name__ == "__main__":
    main()

它将确保仅当该模块作为 Python 解释的起始代码执行时才调用您的 main 方法,更多相关内容将在此处讨论:如果 __name__ == "__main__": 会做什么?

如果你想知道如何编写最好的“主”函数,Guido van Rossum(Python 的创建者)在这里写过。

于 2013-06-23T04:08:24.433 回答
9

Python 不像其他语言会自动调用main()函数。您所做的只是定义了您的功能。

您必须手动调用您的主要功能:

main()

此外,您可能通常会在某些代码中看到这一点:

if __name__ == '__main__':
    main()
于 2013-06-23T04:08:12.137 回答
3

python中没有这样的main方法,你要做的是:

if __name__ == '__main__':
    main()
于 2013-06-23T04:09:20.950 回答
1

您正在定义一个函数,但从不调用它。因此,您没有收到任何错误,但没有任何反应。添加此添加结束,它将起作用:

if __name__ == "__main__":
    main()
于 2013-06-23T04:09:18.327 回答
0

您没有调用该函数。放在main()代码的底部。

于 2013-06-23T04:08:24.010 回答