Sto cercando di leggere alcune immagini (e in seguito si intende eseguire qualche attività su di esse) e mentre le immagini vengono lette in memoria. Voglio visualizzare un'immagine '.gif' animata. A tale scopo ho dovuto usare Threads. Ora si sta dando errore:python: errore IO irreversibile 11 (risorsa temporaneamente non disponibile) sul server X: 0.0
python: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0.
E alcune volte dà l'errore:
python: Fatal IO error 0 (Success) on X server :0.0.
(Sì Messaggio di errore cambia quasi alternativamente) Non ho idea del perché questo errore si è verificato e come rimuovere esso.
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()
se sostituisco questa linea
dirim[infile]=wx.Bitmap(path+infile)
con una linea fittizia:
dirim[infile]=infile
è un lavoro bene, nessun errore.
E se sostituisco questa linea
thread.start_new_thread(grabImages, ())
con un qualcosa di simile a:
grabImages()
è un lavoro bene, nessun errore. Solo Problema Non riesco a visualizzare le GIF animate ..
Ho provato a rimuovere ~/.gconf/desktop/gnome/periferiche come indicato nello link dato da joaquin. Non funziona .. e ho anche provato 'xhost +'. Ho trovato da qualche parte sulla rete. Ancora nessun successo.
Si prega di dire cosa sta succedendo in questo codice .. e suggerire una soluzione Sto usando Ubuntu 10.04 OS. e la directory permessi sono:
drwxr-xr-x images
drwxr-xr-x soccer
dettaglio di
Python verion sono: Python 2.6.5 (R265: 79063 16 Apr 2010 13:09:56) [GCC 4.4.3] sul linux2
Questo avviene qualche anno dopo, ma vorrei aggiungere che ho avuto lo stesso errore (ma con PySide) e, per me, è stato legato alla [questa domanda] (http : //stackoverflow.com/questions/8649233/threading-it-is-not-safe-to-use-pixmaps-outside-the-gui-thread). Quindi in pratica non puoi chiamare le funzioni di disegno al di fuori del thread principale, ed è per questo che ha funzionato quando hai sostituito Bitmap con qualcos'altro. – iled