[Python] Fatal Python error: (pygame parachute) Bus Error
lancio python 2.4, importo la libreria pygame, e qualsiasi cosa faccia nel comando successivo, scatta un messaggio di abort sicuramente ha dei problemi con pygame ma da newbie nn so da dove iniziare, ho cercato sul web e nn trovo una soluzione Python 2.4.5 (#1, Sep 16 2008, 16:14: 19) [GCC 4.0.1 (Apple Inc. build 5465)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import pygame >>> 1 + 1 Fatal Python error: (pygame parachute) Bus Error Abort trap ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Fatal Python error: (pygame parachute) Bus Error
2008/10/1 [EMAIL PROTECTED] <[EMAIL PROTECTED]> > > lancio python 2.4, importo la libreria pygame, e qualsiasi cosa faccia > nel comando successivo, scatta un messaggio di abort > Che versione di pygame? Ciao M. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Problemi con l'encoding/decoding dei locales
On Wed, Oct 1, 2008 at 1:08 AM, Daniele Varrazzo <[EMAIL PROTECTED]> wrote: > >> input = open('foo.img','rb').read().decode('ISO-8859-1') > > Direi che non ha senso usare un encoding testuale per codificare > un'immagine. Sono d'accordo. Più avanti ti spiego perché sono stato costretto ad utilizzarli. >> square = java.encoding(input) >> >> output = java.decoding() >> >> fd = open('foo_decode.img','wb') >> fd.write(output.encode('ISO-8859-1')) >> fd.close() >> sys.exit(0) >> >> java.encoding e java.decoding sono due metodi che, rispettivamente, >> prendono come argomento una java String e restituiscono una java >> String. > > ok... e cosa fanno? Ho provato a cercare in > http://jpype.sourceforge.net/doc/user-guide/userguide.html ma non ho > trovato niente. Sono due metodi di una libreria proprietaria che sto usando. La segnatura di encode è (String data), mentre quella di decode è void. >> JPype si occupa del bridging e converte una java String in una >> python str o unicode string, e viceversa. Di conseguenza, input e >> output, nel mio programma, sono due unicode. >> >> Qual è il problema? Dovrei ottenere un output identico all'input >> (byte per byte), ma non succede. > > E cosa ottieni? Maggiori informazioni potrebbero aiutarci a diagnosticare > il problema. Ok, il problema nasce dal fatto che se all'encoder passo una stringa fatta in questo modo, python si lamenta: input = open('foo.img','rb').read() Traceback (most recent call last): File "testing.py", line 32, in d = encoder.encode(input) UnicodeDecodeError: 'ascii' codec can't decode byte 0xdc in position 6: ordinal not in range(128) L'unico modo per non avere il decodeerror, è di fare il decode della stringa in input: input = open('foo.img','rb').read().decode('ISO-8859-1') ma a quel punto come sappiamo non ottengo il risultato corretto. Sospetto che sia JPype che vuole una conversione forzata da str a unicode, ma perché lo forza? (vedi più avanti un caso in cui la conversione non viene forzata). Ho provato anche a dare un'occhiata qui: http://jpype.sourceforge.net/doc/user-guide/userguide.html#conversion ma si indica chiaramente che le python str vengono convertite in java String. > Non so cosa stai facendo: se devi lavorare con un'immagine (o altri dato > binari), unicode non è lo strumento adatto. Se devi lavorare con del > testo, unicode può essere la cosa giusta, ma l'encoding di partenza devi > conoscerlo. Devo soltanto chiamare la libreria di encoding passando come argomento una stringa con il contenuto del file (il file può essere qualsiasi, in questo caso è un file video). Il contenuto del file è rappresentato in una stringa (da python); nota che se il contenuto del file fosse, supponiamo: input = "foo123" d = encoder.encode(input) in questo caso l'encoder funziona correttamente (e python non lamenta un unicodeerror). La domanda è quindi: supposto che la libreria funziona correttamente, e nel caso in cui la stringa di input in python sia una semplice stringa di testo lo script funziona correttamente, perché sono costretto a fare il decode del file binario che passo allo script? Grazie ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Problemi con l'encoding/decoding dei locales
On Wed, 01 Oct 2008 14:33:23 +0200, [EMAIL PROTECTED] wrote: > Ok, il problema nasce dal fatto che se all'encoder passo una stringa > fatta in questo modo, python si lamenta: > > input = open('foo.img','rb').read() > > Traceback (most recent call last): >File "testing.py", line 32, in > d = encoder.encode(input) > UnicodeDecodeError: 'ascii' codec can't decode byte 0xdc in position > 6: ordinal > not in range(128) Cos'e' "encoder" alla riga 32 di testing.py? Tanto per chiarirci, anche se i codec del python sono generice trasformazioni biunivoche, quando si parla di testo di solito si intende: - encode: da unicode a str (es. iso-8859-1 o utf8) - decode: da str a unicode. Quindi, se testing.py sta provando a fare un "encode" sta in effetti aspettando un unicode (come tu gli passi). Se non ottieni il risultato atteso e' probabilmente perche' questo oggetto "encoder" non encoda allo stesso modo di come tu hai effettuato il "decode" dopo aver letto il file. A meno che l'encoder non sia qualcosa di "strano" (es. un compressore): come e' costruito quell'encoder? La cosa curiosa e' pero' la presenza di questa operazione "encoder.encode(input)" che fa da filtro. Che ci fa li'? Guardando il messaggio di errore sembra un encoder ascii, il che vuol dire che non sa lavorare con caratteri > 127: sicuro che ci debba stare? -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] R: Re: Fatal Python error: (pygame parachute) Bus Error
cmque il problema ho visto nn tratta solo incompatibilita' con pygame, probabilmente nn risiede solo la' se uso l'interprete con delle banali funzioni di addizione, minimo al secondo comando mi lancia un genericissimo "bus error" ragazzi nn so dove mettere le mani Python 2.4.5 (#1, Sep 16 2008, 16:14:19) [GCC 4.0.1 (Apple Inc. build 5465)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1+2 3 >>> 2 Bus error ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python