我正在尝试读取一些图像(稍后打算对它们执行一些任务),同时将图像读入内存。我想显示动画“.gif”图像。为此,我必须使用线程。现在它给出错误:
python: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0.
有时它会给出错误:
python: Fatal IO error 0 (Success) on X server :0.0.
(是的,错误消息几乎交替变化)
我不知道为什么会发生此错误以及如何删除它。
import wx
from wx import animate
import thread
import os
class AniGif(wx.Dialog):
def __init__(self, parent, id, title):
wx.Dialog.__init__(self, parent, id, title, size=(300, 300))
buttonOk = wx.Button(self, id=3, label="Ok", pos=(75, 50), size=(50, 50))
self.Bind(wx.EVT_BUTTON, self.OnClick, id=3)
def OnClick(self, event) :
clock = "loading.gif"
showclock = wx.animate.GIFAnimationCtrl(self, -1, clock)
showclock.Play()
thread.start_new_thread(grabImages, ( ))
def grabImages():
global dirim
dirim = {}
path = './images/soccer/'
listing = os.listdir(path)
for infile in listing:
if len(infile)>4 and infile[-4:]=='.jpg' :
print path+infile
dirim[infile]=wx.Bitmap(path+infile)
app = wx.App()
dia = AniGif(None, -1, "Ani Gif")
dia.ShowModal()
dia.Destroy()
app.MainLoop()
如果我更换这条线
dirim[infile]=wx.Bitmap(path+infile)
用虚拟线:
dirim[infile]=infile
它工作正常,没有错误。
如果我更换这条线
thread.start_new_thread(grabImages, ( ))
类似的东西:
grabImages()
它工作正常,没有错误。唯一的问题是我无法显示 gif 动画..
我已尝试删除 ~/.gconf/desktop/gnome/peripherals 中提到的link https://stackoverflow.com/q/2151937/636475给出的joaquin https://stackoverflow.com/users/308903/joaquin。这不起作用..
我也尝试过 'xhost +' 。我从网上的某个地方找到的。仍然没有成功。
请告诉这段代码中发生了什么..并提出解决方案
我使用的是 ubuntu 10.04 操作系统。
目录权限是:
drwxr-xr-x images
drwxr-xr-x soccer
Python版本的详细信息是:
Python 2.6.5(r265:79063,2010 年 4 月 16 日,13:09:56)
[GCC 4.4.3] 在 linux2 上