web-dev-qa-db-ja.com

NameError:名前 'exit'は定義されていません

Cxfreezeを使用して、planrequest.pyからWindows実行可能ファイルを作成しました。それはうまくいくように見えましたが、exeファイルを実行すると、NameError: name 'exit' is not defined

name exitはpythonで定義されていません は修正がimport sys。ただし、インポートシステムを使用します。コードはpythonスクリプトとして正常に実行されます(たとえば、実行可能ファイルにコンパイルする前にコマンドライン引数を徹底的にテストしました。)

import socket
import sys

if len(sys.argv) == 1:
    print("Usage:")
    print("PlanRequest [Request String] [Server IP (optional: assumes 127.0.0.1 if omitted)]")
    exit()

#[do stuff with the request]
17
Tim

Sysをインポートするだけでは、exitをグローバルスコープで有効にすることはできません。

あなたはどちらかをする必要があります

from sys import exit
exit()

または

import sys
sys.exit()

注意:argvも使用しているため、最初の場合は実行する必要がありますfrom sys import argv,exit

24
b1ch0u

関数をsysに適用する必要があります。

from sys import exit
exit()

exitは関数そのものなので、()で呼び出す必要があります