NameError: name 'exit' is not defined

我只是一个虾纸丫 提交于 2020-08-17 23:49:23

问题


I used cxfreeze to create a Windows executable from planrequest.py. It seemed to work ok, but when I run the exe file I get NameError: name 'exit' is not defined

name exit is not defined in python states that the fix is to use import sys. However, I use import sys. The code runs fine as a python script (as in, I extensively tested the command line arguments before compiling to an executable.)

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]

回答1:


Importing sys will not be enough to make exit live in the global scope.

You either need to do

from sys import exit
exit()

or

import sys
sys.exit()

Note that, as you are also using argv, in the first case you should do from sys import argv,exit




回答2:


You have to apply the function to sys:

from sys import exit
exit()

because exit is the function itself, you need to call it with ()



来源:https://stackoverflow.com/questions/45066518/nameerror-name-exit-is-not-defined

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!