NameError: name 'exit' is not defined

NameError: name 'exit' is not defined

我使用 cxfreeze 从 planrequest.py 创建了一个 Windows 可执行文件。它似乎工作正常,但是当我 运行 exe 文件时,我得到 NameError: name 'exit' is not defined

指出修复是使用 import sys。但是,我使用 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]

您必须将函数应用到 sys:

from sys import exit
exit()

因为exit是函数本身,需要用()

调用

导入 sys 不足以使 exit 在全局范围内生效。

你要么需要做

from sys import exit
exit()

import sys
sys.exit()

请注意,由于您也在使用 argv,在第一种情况下您应该这样做 from sys import argv,exit