NameError:name'退出'没有定义

时间:2017-07-12 19:59:40

标签: python cx-freeze

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

name exit is not defined in python表示修复方法是使用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]

2 个答案:

答案 0 :(得分:15)

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

你需要做

from sys import exit
exit()

import sys
sys.exit()

请注意,由于您还在使用argv,因此在第一种情况下您应该 from sys import argv,exit

答案 1 :(得分:1)

您必须将该函数应用于sys:

sys.exit()