我有以下代码,由于某种原因导致Python GUI在行打印时崩溃:
urlstr = str(URLS)
a = urlstr.split('=', 2)
print('a=', a)
URLS是从字典生成的URL,而字典又是根据一系列文本文件的值创建的。我正在从URLS创建一个字符串,然后尝试将其拆分为第二个等号。
如果我删除print语句,代码运行正常,但条件逻辑是' a'传递给不产生值。
任何人都可以看到问题是什么,因为我真的很困惑。
由于
答案 0 :(得分:1)
我认为您正在使用IDLE Python shell和线程。如果我错了,请纠正我。
有时这会导致Tkinter / IDLE崩溃。
以下是我在2008年编写的一些代码,用于防止Python Shell在使用线程时崩溃。
## das muss in idlelib.PyShell in die letzten Zeilen der Klasse
## this must be copied to idlelib.PyShell into the last lines of the class
############################# adds by nicco kunzmann #########################
__nk___init__= __init__
def __init__(self, *args, **kw):
self.__nk___init__(*args, **kw)
self.__nk_writelist= []
self.__nk_act_act_write()
__nk_write= write
def write(self, *args):
self.__nk_writelist.append(args)
def __nk_act_act_write(self):
try:
while self.__nk_writelist:
args= self.__nk_writelist.pop(0)
try:
self.__nk_write(*args)
except:
traceback.print_exception(*sys.exc_info())
print args
finally:
self.text.after(1, self.__nk_act_act_write)
############################# adds by n.k. the end #########################