Wpis z mikrobloga

Może ktoś pomoże...
Program pisany przeze mnie w pythonie wywala sie, gdy w zasysanej linijce (linechache.getline) pojawiaja sie polskie znaki (ą, ę, ć). Teoretycznie zmienilem kodowanie pliku z danymi do utf 8, ale nie ma zmian (jak zastapie ww znaki bezogonkowcami, to dziala). Mam gdzies w programie deklarowac jakie jest kodowanie pliku (bo kodowanie uzywane w programie to wiem, ze deklaruje sie na początku)? I tak, niespecjalnie umiem w programowanie :P
#programowanie #python
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@thomeq: w takim razie unicode_literals nie potrzebujesz a Twoja deklaracja powinna wyglądać trochę inaczej

# -*- coding: utf-8 -*-
  • Odpowiedz
@thomeq: getline z linecache rzuca pusty string w przypadku błędów, więc pewnie coś nie halo z plikiem (w ogóle nie wczytuje, linijka nie istnijeje lub jest putsa). Musiałbyś też pokazać plik, na którym operujesz.
  • Odpowiedz
@gofr: wygodniej jest jak tu wkleje linijke na ktorej wie wywala (bo jak wskaze w getline inna, to dziala), czy jakos pokazac caly plik (jest dluuuugi :) )?
  • Odpowiedz
@thomeq: no spróbuj z jedną linijką, jeśli masz tam jakieś dane, którymi nie chcesz się chwalić. Tylko wrzuć to w kod. Edit: jeśli masz tam białe znaki, to lepiej linijka na gista lub pastebin
  • Odpowiedz
@thomeq: w ogóle - na pewno potrzebujesz linecache? Jeśli masz zamiar wczytywać zawartość pliku, linijka po linijce, to lepiej wykorzystaj interfejs z biblioteki io. Tutaj przykład:

with io.open('daneutf8.txt', 'r', encoding='utf-8') as template:
____for line in template:
________print line
  • Odpowiedz
@gofr: NIe, nie potrzebuje po prostu ta metoda wydawala mi sie najprostsza :) Jak pisalem na poczatku newbie jestem ;)
Na pewno musze móc wczytywac kolejne linijki w petli, a w nich skakac po pozycjach i odczytywac konkretne rzeczy :)
  • Odpowiedz
@thomeq: panie, u mnie działa. Kto panu to tak s--------ł?

> cat lol.txt
18:13:57 PLY 05 F015578P Nie mogę zasnąć Marcelina BLK
18:13:57 PLY 05 F015578P Nie moge zasnac Marcelina BLK

In [1]:
  • Odpowiedz