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

メイン関数をまったく呼び出していないため、Python インタープリターはそれを呼び出しません。

これを最後の行として追加して、常に呼び出されるようにします。

main()

一般的に見られるものを使用する場合:

if __name__ == "__main__":
    main()

そのモジュールが Python によって解釈された開始コードとして実行される場合にのみ、メイン メソッドが呼び出されるようにします。詳細については、ここで説明します: What does if __name__ == "__main__": do?

可能な限り最高の「メイン」関数の書き方を知りたい場合は、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

mainPythonにはそのような方法はありません。あなたがしなければならないことは次のとおりです。

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 に答える