我有一些旧的Python脚本,它们使用的版本tkinter
与当前系统所配备的版本不同。早在过去,一种名为的方法_tkinter.createfilehandler()
就已经存在并且可以工作。在当前版本中,这将返回以下RuntimeError
异常:
Traceback (most recent call last):
File "src/text.py", line 513, in <module>
tkinter.createfilehandler(pipe_r, READABLE, drain_pipe)
RuntimeError: _tkinter.createfilehandler not supported for threaded Tcl
我要运行的脚本是这样的(当然是简化版):
#!/usr/bin/env python
import os
from Tkinter import *
(pipe_r, pipe_w) = os.pipe()
# ...
def drain_pipe(a, b):
# handle data from pipe_r
# ...
tkinter.createfilehandler(pipe_r, READABLE, drain_pipe)
tk.mainloop()
有没有简单的方法可以让它再次运行?我敢肯定有一种方法可以转换脚本(或者可以根据不同的范式重新编写脚本),但是我很乐意不必进行太多更改(也许有一个开关可以再次启用此功能)因为我有几个这样的脚本,并且不希望打很多补丁。
如果tk
是Tk()
对象,则tk.createfilehandler
改为使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句