Może ktoś z was mi tutaj pomoże - dostaję taki błąd
"UnicodeDecodeError: 'utf8' codec can't decode byte 0x9c in position 110: invalid start byte" - raz dla linii 110, za innym dla linii 111 w skrypcie pythona.
@entropy_: to nie jest mój kod - też tak myślałem.
@CancerLight: tego jest 2600 linii - mogę tutaj wkleić może te 110 linii
`from _future import division # so that 1/3=0.333 instead of 1/3=0 import datetime from psychopy import localesetup, visual, core, data, event, logging, sound, gui from psychopy.constants import * # things like STARTED, FINISHED import numpy as np # whole numpy lib is available, prepend 'np.'
@rainkiller A na jakim to systemie? Bo może na win, i masz codepage 852 czy jak to się tam nazywa. I wtedy potrzebujesz ustawić PYTHONIOENCODING (o ile pamiętam).
@rainkiller: To prześledź może co się dzieje z zawartością tej zmiennej. W kodzie pobierasz encoding filesystemu po coś (sys.getfilesystemencoding). Jest też jakieś PYTHONLEGACYWINDOWSSTDIO. Kiedyś miałem właśnie taki problem u jednego klienta z binarnymi danymi, w python2. Działało wszędzie (na windows też), ale na konkretnej wersji językowej windows się sypało i chodziło właśnie o stronę kodową. Jeśli ta zmienna zrzucana do int jest ok (użyj repr() do sprawdzenia) to wygląda to na
@cosmopolitan: wiesz co jeszcze spróbuję, bo pythona 2 mam połączonego z taką aplikacją, a defaultową wersją w systemie jest 3.x. Podejrzewam, że tą komendę set puściłem dla 3.x nie dla 2.
@rainkiller: Też tak podejrzewam (nie chciałem wchodzić w temat, bo nie wiem z jakim edytorem/IDE pracujesz, jak uruchamiasz, dlatego sprowadziłem to do cmd.exe). Ale ufam w to, że wiesz co robisz, dlatego nie wyciągnąłem tematu z powrotem.
@rainkiller: https://github.com/ipython/ipython/issues/10011 Zminimalizuj środowisko uruchomieniowe do system+interpreter. Taki IPython np. sortuje wynik set() przy wypisywaniu, i ludzie myślą, że set() zachowuje order. A w samym intepreterze widać, że nie.
In [1]: set("abcdef") Out[1]: {'a', 'b', 'c', 'd', 'e', 'f'}
vs.
set("abcdef") {'f', 'a', 'b', 'e', 'c', 'd'}
Dlatego debugowanie problemów w IDE czy jupiter notebook trochę mija się z celem.
"UnicodeDecodeError: 'utf8' codec can't decode byte 0x9c in position 110: invalid start byte" - raz dla linii 110, za innym dla linii 111 w skrypcie pythona.
#programowanie #komputery #python
@CancerLight: tego jest 2600 linii - mogę tutaj wkleić może te 110 linii
`from _future import division # so that 1/3=0.333 instead of 1/3=0
import datetime
from psychopy import localesetup, visual, core, data, event, logging, sound, gui
from psychopy.constants import * # things like STARTED, FINISHED
import numpy as np # whole numpy lib is available, prepend 'np.'
Jaka jest zawartość runNumber i w jakiej podstawie to jest jeśli jest stringiem?
expInfo = {u'runNumber': u'1'}
int(expInfo["runNumber"])
1
Powinno działać (w python3).
I wtedy potrzebujesz ustawić PYTHONIOENCODING (o ile pamiętam).
https://www.python.org/dev/peps/pep-0528/
To się jakoś tak robi na win
set PYTHONIOENCODING=utf-8
Kiedyś miałem właśnie taki problem u jednego klienta z binarnymi danymi, w python2. Działało wszędzie (na windows też), ale na konkretnej wersji językowej windows się sypało i chodziło właśnie o stronę kodową. Jeśli ta zmienna zrzucana do int jest ok (użyj repr() do sprawdzenia) to wygląda to na
Zminimalizuj środowisko uruchomieniowe do system+interpreter.
Taki IPython np. sortuje wynik set() przy wypisywaniu, i ludzie myślą, że set() zachowuje order. A w samym intepreterze widać, że nie.
In [1]: set("abcdef")
Out[1]: {'a', 'b', 'c', 'd', 'e', 'f'}
vs.
set("abcdef")
{'f', 'a', 'b', 'e', 'c', 'd'}
Dlatego debugowanie problemów w IDE czy jupiter notebook trochę mija się z celem.