Python Tkinter异常

2024-06-26 01:33:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我在编写脚本时遇到tkinter异常: 代码如下:

def readconf(startmenu):
    gui_mainmenu (wlc_current, wlcsession, startmenu)

def gui_startmenu():
startmenu=Tk()
startmenu.title ( "Netcloud WLC-Config" )
logo = PhotoImage ( file="nc-logo.ppm" )
w1 = Label ( startmenu, image=logo ).pack ()
explanation = """Welcome to the Netcloud WLC-Sripting Tool"""
w2 = Label ( startmenu,
             justify=LEFT,
             pady=20,
             text=explanation ).pack ()
btn_menu1 = Button ( startmenu, text='Login to WLC', command=lambda: readconf(startmenu)).pack ( fill=X )
btn_menu6 = Button ( startmenu, text='Exit', command=lambda: sys.exit ( 0 ) ).pack ( fill=X, padx=100, pady=50 )
startmenu.mainloop ()

def gui_mainmenu(wlc, wlcsession, startmenu):
    startmenu.destroy ()  # Destroy the Startmenu
    set_APInfos ( wlc, wlcsession )

if __name__ == "__main__":
    # Start Menu
    gui_startmenu()

调用函数set\u apinfo()时,出现以下异常:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/Users/burgener/Documents/Scripting/scripts/WLC-Config/WLC-configurator.py", line 191, in set_APInfos
    wlcsession.sendcommand ( "config ap name '" + ap_new_name[i] + "' " + apnames[i] )
  File "/Users/burgener/Documents/Scripting/scripts/WLC-Config/libCuwn.py", line 101, in sendcommand
    self.cli.send(command+"\n")
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/paramiko/channel.py", line 716, in send
    return self._send(s, m)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/paramiko/channel.py", line 1082, in _send
    raise socket.error('Socket is closed')
OSError: Socket is closed

在处理上述异常时,发生了另一个异常:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/tkinter/__init__.py", line 1538, in __call__
    return self.func(*args)
  File "/Users/burgener/Documents/Scripting/scripts/WLC-Config/WLC-configurator.py", line 593, in <lambda>
    btn_menu1 = Button ( startmenu, text='Login to WLC', command=lambda: readconf(startmenu)).pack ( fill=X )
  File "/Users/burgener/Documents/Scripting/scripts/WLC-Config/WLC-configurator.py", line 116, in readconf
    gui_mainmenu (wlc_current, wlcsession, startmenu)
  File "/Users/burgener/Documents/Scripting/scripts/WLC-Config/WLC-configurator.py", line 600, in gui_mainmenu
    set_APInfos ( wlc, wlcsession )
  File "/Users/burgener/Documents/Scripting/scripts/WLC-Config/WLC-configurator.py", line 195, in set_APInfos
    print ( "Error: Connection failed to WLC: %s\n" % wlcsession.hostname )
AttributeError: 'WlcSession' object has no attribute 'hostname'

Tags: inpyconfiglinescriptsguiusersdocuments