我使用cxfreeze从planrequest.py创建一个Windows可执行文件.它似乎工作正常,但是当我运行exe文件时,我得到了NameError: name 'exit' is not defined
在修复程序要使用的python状态中未定义name exitimport 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]
Run Code Online (Sandbox Code Playgroud)
小智 27
导入sys将不足以exit在全局范围内生效.
你要么做
from sys import exit
exit()
Run Code Online (Sandbox Code Playgroud)
要么
import sys
sys.exit()
Run Code Online (Sandbox Code Playgroud)
请注意,因为您也在使用argv,所以在第一种情况下您应该这样做 from sys import argv,exit
您必须将该函数应用于 sys:
from sys import exit
exit()
Run Code Online (Sandbox Code Playgroud)
因为exit是函数本身,你需要调用它()