Zbavenie sa diakritiky v Python

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 483
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Zbavenie sa diakritiky v Python

Príspevok od používateľa zen » 07 Aug 2017, 12:45

Mám takýto file:

Kód: Vybrať všetko

Mám
takýto
a chcel bych ho prepisat ako:

Kód: Vybrať všetko

Mam
takyto
Uz toto mi nefunguje, error \lib\encodings\cp1252.py,

Kód: Vybrať všetko

f1=open('a.txt','r')
f2=open('b.txt','r')
for line in f1:
  print(line)
  print(line, file=f2)
už pri nacitani.

Na internete sú návody iba na diakritiku definovanú v programe, nie ak sa citá z file.

Jedna možnosť je cítat "rb" a zrobiť si tabuľku. Ak mate urobenú alebo viete čosi elegantnejšie...
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

Sender
Pokročilý člen
Pokročilý člen
Príspevky: 535
Dátum registrácie: 26 Máj 2008, 00:00

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa Sender » 07 Aug 2017, 13:22

VYtvořil bych si funkci,která by nahradila písmena s diakritikou jinými.
0

fero182
Okoloidúci
Okoloidúci
Príspevky: 2
Dátum registrácie: 07 Aug 2017, 13:52

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa fero182 » 07 Aug 2017, 13:58

Uloz nacitany line zo suboru do premenej String napr prem a potom skus replace char

prem = "text č,š bla bla "
print str.replace("č,š", "c,s")

malo by nahradit dane znaky za take ake si nadefinujes mozes si na to napisat funkciu....
0

Používateľov profilový obrázok
Gavin Milarrr
Ultimate člen
Ultimate člen
Príspevky: 2533
Dátum registrácie: 06 Okt 2008, 00:00
Bydlisko: Liberec
Vek: 47

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa Gavin Milarrr » 07 Aug 2017, 14:16

Neexistuje knihovna, která propojí Python s iconv?
0
Taky vás štve debilita a sopláctví? Na http://efis.tul.cz/forum běží experimentální odblbené fórum.

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 483
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa zen » 07 Aug 2017, 15:40

@Sender
@fero182
zen napísal:Jedna možnosť je cítat "rb" a zrobiť si tabuľku.
Ak mate urobenú alebo viete čosi elegantnejšie...

@Gavinn
iconv v Python neexistuje, no zkusim google
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

Používateľov profilový obrázok
mac26
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1298
Dátum registrácie: 01 Feb 2010, 00:00
Bydlisko: Martin

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa mac26 » 07 Aug 2017, 15:51

Uz toto mi nefunguje
V pythone som nerobil, ale nemas nahodou ten druhy subor otvoreny tiez na citanie?
0

Používateľov profilový obrázok
Andy99
Stály člen
Stály člen
Príspevky: 339
Dátum registrácie: 05 Mar 2008, 00:00
Bydlisko: BA
Vek: 35

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa Andy99 » 07 Aug 2017, 15:54

Ale no... samozrejme je tu moznost definovania vl. znakov, ktore bude replacovat, niekedy efektivnejsie riesenie.
Samozrejme je tu moznost, ze to kniznica spravi za nas ;)

input.txt (kodovanie utf-8)

Kód: Vybrať všetko

Mám
takýto

Kód: Vybrať všetko

import codecs
import unicodedata

# read lines from input file
with codecs.open('input.txt', "r", "utf-8") as f:
    # encode text
    text = unicodedata.normalize('NFKD', f.read()).encode('ascii','ignore')
    # print encoded text
    print text
    f.close();
Namiesto toho "print text" si mozes spravit lubovolnu akciu ;)
0

Používateľov profilový obrázok
vosa
Stály člen
Stály člen
Príspevky: 103
Dátum registrácie: 24 Okt 2012, 09:34
Bydlisko: Bratislava

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa vosa » 07 Aug 2017, 16:26

Podla mna by som encode radsej nepouzil s parametrom 'ignore' a to f.close(); tam je podla mna zbytocne. Inac dobre ;)
0

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 483
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa zen » 07 Aug 2017, 21:24

[quote="Andy99"]

Kód: Vybrať všetko

    print text
To vyzerá zle... No, zkusil som...

FUNGUJE!!! Síce čítá do binary cely file (akosi som zabudol napísať, ze chcem čítať line by line), ale s tím som si už poradil:

Kód: Vybrať všetko

import codecs, unicodedata

f2=open('a2.txt','w')
with codecs.open('a1.txt', "r", "utf-8") as f1:
  for line in f1:
    text=unicodedata.normalize('NFKD',line)   \
                    .encode('ascii','ignore') \
                    .decode("utf-8")          \
                    .rstrip()
    if len(text)==0:           continue
    if text.startswith("//"):  continue
    if text.startswith("  *"): continue
    print(text)
    print(text,file=f2)
Vďaka!!!
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

Používateľov profilový obrázok
Andy99
Stály člen
Stály člen
Príspevky: 339
Dátum registrácie: 05 Mar 2008, 00:00
Bydlisko: BA
Vek: 35

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa Andy99 » 08 Aug 2017, 08:55

Male vysvetlenie na zaciatok :)

Kód: Vybrať všetko

# subor nebude otvoreny nacitanie v binarnom mode, ako si pisal. Pre binarny mod by bol argument 'rb'.
with codecs.open('a1.txt', "r", "utf-8") as f1:

# normalize("NFKD", line) - prevedie unicode string na ASCII string
# encode('ascii','ignore') - chyby pre ASCII budeme ignorovat
# .decode("utf-8") - nie je potrebne string znovu dekodovat na UTF-8
# .rstrip() - odstrani medzery na konci stringu
text=unicodedata.normalize('NFKD',line).encode('ascii','ignore').decode("utf-8").rstrip()
Myslim, ze toto riesenie by mohlo byt trochu optimalnejsie.

Kód: Vybrať všetko

import re

with codecs.open('input.txt', 'r', 'utf-8') as fr:
    for line in fr:
        # convert UTF-8 string to ASCII
        text=unicodedata.normalize('NFKD',line).encode('ascii','ignore').strip()
        # search for [a-zA-Z0-9_]
        if re.search('\w+', text):
            print(text)
Samozrejme regularny vyraz si mozes upravit podla potreby. Ja som vychadzal z predosleho kodu.
0

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 483
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa zen » 08 Aug 2017, 16:02

Prisahám, ze bez toho .decode("utf-8") mi to tlačí b'

Možno rozdiel Python 2.7 a 3.4.

Potreboval som to abych prepísal výpis ČSOB, to funguje. Skúsil som nahradiť ASCII IBM850/CP850 coz by sa mi mohlo niekedy hodiť a vzdal to.
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

Používateľov profilový obrázok
Andy99
Stály člen
Stály člen
Príspevky: 339
Dátum registrácie: 05 Mar 2008, 00:00
Bydlisko: BA
Vek: 35

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa Andy99 » 08 Aug 2017, 16:31

Mozno by si mohol ukazat komplet kod len tak pre zaujimavost.

Prikladam malu ukazku:
input.txt

Kód: Vybrať všetko

mám takýto
súbor
s
  *
--
))

\\
ČSOB

a bodka
script.py

Kód: Vybrať všetko

import codecs
import unicodedata
import re

# output file
fw=open('output.txt','w')

# open UTF-8 encoded file for reading
with codecs.open('input.txt', 'r', 'utf-8') as fr:
    # loop over lines
    for line in fr:
        # convert UTF-8 string to ASCII
        text=unicodedata.normalize('NFKD',line).encode('ascii','ignore').strip()
        # search for [a-zA-Z0-9_]
        if re.search('\w+', text):
            print(text)
            # print output to file
            fw.write(text + '\n')
fw.close()
output.txt

Kód: Vybrať všetko

mam takyto
subor
s
CSOB
a bodka
0

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 483
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa zen » 10 Aug 2017, 16:14

Andy99 napísal:Mozno by si mohol ukazat komplet kod len tak pre zaujimavost.
Celkom nerad... Ten program asi nikty nenapisem - dal som ho aj mojej ex na zkusku, ci by sa jej mohol hodit. Ked poveda, ze to zkusi, tak to zkusi. Nebudem jej to kazde tri mesiace pripominat.

Problem: Na uctovanie CSOB pouzivam program psany pre inu banku kde su polozky triedene odzdola, CSOB je netriedi. Uctovanie ma nebavi, myslim na cosi iné, najednou nemam to iste saldo. Ich PDF je straslivy, tak prepisem ten TXT. Alespon ked lahko najdem saldo ku konci dna, bude sa mi hladat snadneji kde to nesuhlasi.

Ak chces videt co povazujem za pouzitelny vypis, tak pre-alpha version:

ASC.PY

Kód: Vybrať všetko

def high_2_low_ascii(file_in,file_out):
  import os, sys, getopt, codecs, unicodedata
  if not os.path.isfile(sys.argv[1]):
    print("Could not open",sys.argv[1])
    exit()

  print ("Converting to low ASCII")
  f1=codecs.open(file_in, "r","utf-8")
  f2=       open(file_out,"w")
  for line in f1:
    for line in f1:
      line=unicodedata.normalize('NFKD',line)   \
                      .encode('ascii','ignore') \
                      .decode("utf-8")          \
                      .rstrip()
      if len(line)>0: print(line,file=f2)

if __name__ == "__main__":
  if len(sys.argv)<3:
    print("Usage:",os.path.basename(sys.argv[0]),"file_in file_out")
    print("       Replaces high ASCII with low ASCII.")
    exit()
  high_2_low_ascii(sys.argv[1],sys.argv[2])
CSOB.PY

Kód: Vybrať všetko

import os, sys, getopt
sys.path.append("C:\\WINDOWS")
from ASC import high_2_low_ascii
#-----#-----#-----#-----#-----#-----#-----#-----#-----#-----#-----#-----#
if len(sys.argv)<2:
  print("Usage:",os.path.basename(sys.argv[0]),"file_in")
  print("       Arranges CSOB account statement.")
  print("       file_out=CSOB.DOC.")
  exit()
if not os.path.isfile(sys.argv[1]):
  print("Could not open",sys.argv[1])
  exit()

print ("Calling ASC")
high_2_low_ascii(sys.argv[1],"_csob_1.tmp")
print ("Compacting data")
f3=open("_csob_2.tmp","w")
with open("_csob_1.tmp","r") as f2:
  for line in f2:
    line=line.rstrip().replace(',','.')
    if 'datum zauctovania:' in line:
      x=line[25:].split('.')
      print(x[2].zfill(4)+'.'+x[1].zfill(2)+'.'+x[0].zfill(2)+',',file=f3,end='')
    if 'suma:' in line:
      print(line[25:]+',',file=f3,end='')
    if 'mena:' in line:
      continue
    if 'zostatok:' in line:
      print(line[25:]+',',file=f3,end='')
    if 'referencia platitela:' in line:
      line=line[25:]
      if not line.startswith('/VS'):
        print(line+',',file=f3,end='')
    if 'typ transakcie:' in line:
      print(line[25:]+',',file=f3,end='')
    if 'cislo uctu protistrany:' in line:
      continue
    if 'banka protistrany:' in line:
      continue
    if 'nazov protistrany:' in line:
      print(line[25:]+',',file=f3,end='')
    if 'informacia pre prijemcu:' in line:
      x=line[25:].replace(" Miesto: ",",").replace(" KURZ:",",Kurz:")
      print(x+',',file=f3,end='')
    if 'doplnujuce udaje:' in line:
      print(line[25:],file=f3)

print ("Writing CSOB.DOC")
f3=open("CSOB.DOC","w")
date_old='start'
count=1
with open("_csob_2.tmp","r") as f2:
  for line in f2:
    count=count+1
    line=line.rstrip() \
             .replace(",,,",",")\
             .replace(",,",",")\
             .replace("Trvaly prikaz na uhradu cislo 6,","Zdravotna poistovna,")
    z=line.split(',')
    if date_old=='start':
      date_old=z[0]
    elif (date_old==z[0]):
      print("---------------------------------------------------------------------------",file=f3)
    else:
      date_old=z[0]
      print("===========================================================================",file=f3)
    print(z[0]+' '+'{0:<40}'.format(z[3])+'{0:>12}'.format(z[1])+'{0:>12}'.format(z[2]),file=f3)
    for i1 in range(4,len(z)-1):
      if not ("Suma:" in z[i1] and "EUR" in z[i1]):
        print("          ",z[i1],file=f3)
print("***************************************************************************",file=f3)
print(count,"operations",file=f3)
os.remove("_csob_1.tmp")
os.remove("_csob_2.tmp")
Je to _pre-alpha version_, chce to minimalne upravit "Transakcia platobnou kartou" a "Odoslana platba elektronicky" + co mi povei moja ex. Toto sa uz upravit neda, zmazat vsetko a pouzit list of lists. Triedit list of lists asi nebude legrace.

Nemusite mi pisat, ze ASC.PY by dal do C:\WINDOWS len debil. Include v Python neurobili zrovna sikovno, budem muset najst dlhodobé riesenie. Dufal som, ze to bude fungovat kdesi v PATH=. (Co som do PATH pridal, to je zalohované.)
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

Používateľov profilový obrázok
Andy99
Stály člen
Stály člen
Príspevky: 339
Dátum registrácie: 05 Mar 2008, 00:00
Bydlisko: BA
Vek: 35

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa Andy99 » 10 Aug 2017, 19:03

No... kde zacat. Teraz by som ta mohol zvozit za ten kod a nevravim este gramatiku. No nespravim to, radsej ti poradim, mozno sa ti to niekedy zide :)

Ja som pozadoval vstupny subor, aby som ti mohol vyvratit tvoje tvrdenie, ze ten moj nefunguje. Kludne mozes casti, ktore nemaju byt verejne nahradit "xxx" ;).

ASC.PY
1. ma byt volany ako samostatny modul?
  1. 1.1. ak nie, zapisovat vstup/vystup do suborov nie je nastastnejsie riesenie
    1.2. Odporucam tento script prepisat ako modul a zakazdym ho radsej includnut
2."if not os.path.isfile(sys.argv[1]):"
  1. 2.1. Preco overujes len 1. argument, 2. je hadam nepovinny?
    2.2. Co ak sa nebude dat do suboru zapisovat?
3. "print ("Converting to low ASCII")"
  1. 3.1. To nie je predsa pravda, script nemeni velkost pismien, ale konvertuje unicode na ASCII
4. "f1=codecs.open(file_in, "r","utf-8")" aj "f2"
  1. 4.1. Ked uz si chcel pouzit subory, preco si po sebe nezavrel descriptory? Programator by ich mal po sebe pozatvarat. Spoliehat sa na to, ze ich destruktor zavrie nie je vzdy istota. Dalsia moznost je pouzit blok "with", pricom sa zatvara automaticky po opusteni.
5."for line in f1: for line in f1:"
  1. 5.1. To ma aky vyznam? Raz sa tie radky predsa encoduju a hotovo.
6. "line=unicodedata.normalize('NFKD',line)"
  1. 6.1. Tie iste chyby, ktore som uz spominal v predoslom prispevku...
    6.2. Uz nie je potrebne odstranovat znaky, ktore si spominal v predoslom prispevku?
CSOB.PY
1. "sys.path.append("C:\\WINDOWS")"
  1. 1.1. To snad nemyslis vazne...?
    1.2. Nebudem ti pisat, preco je toto umiestenenie nevodne...
    1.3. Len tak na okraj, ak si nedas pozor a spustis to napr. v source-nutom shelli, tak ti kazde taketo spustenie prida do systemoveho PATHu aj windows...
2. "if not os.path.isfile(sys.argv[1]):"
  1. 2.1. To iste ako predosli bod 2.
3. "with open("_csob_1.tmp","r") as f2:"
  1. 3.1. Cely blok az po "print ("Writing CSOB.DOC")" by bolo mozne nahradit nejakym regularom, ktory by v tomto pripade bol prehladnejsi. No v neposlednom rade mozno aj rychlesi, no vsetko zalezi od vstupnych dat.
4. "f3=open("CSOB.DOC","w")"
  1. 4.1. Takto si prepisujes posledny descriptor len take fukoty.
    4.1.1. Pred novym priradenim je potrebne predosli aj zavriet ;)
5. "with open("_csob_2.tmp","r") as f2:"
  1. 5.1. stale citanie/zapisovanie medzivysledkov z/do suborov nie je stastne riesenie. Skor sa snaz pouzivat pamat ;)
6. ".replace(",,,",",").replace(",,",",")"
  1. 6.1. To ako vazne? Myslim, ze tu sa regular ",,+" priam ziada.
7. "if date_old=='start': date_old=z[0] elif (date_old==z[0]):..."
  1. 7.1. Tak toto je ceresnicka :) V kazdej podmienke sa udeje to iste. Co takto to prepisat na "if (date_old==z[0]): print("==...") "novy_riadok" date_old==z[0]"?
8. zatvorit desciptor "f3"

Samotne usporiadanie retazov v pamati (pole N-tic) je jednoduchsie ako si myslis. Takto by sa ti velmi jednoducho vyhol spominanym suborom.

To co som ti napisal neber v zlom, ale prave naopak, skus sa z toho poucit :).
0

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 483
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Zbavenie sa diakritiky v Python

Príspevok od používateľa zen » 11 Aug 2017, 14:53

Ty si sa rozpisal... Co sa tyce gramatiky, kratke zpravy prejdem sk-spell.sk (aj ked mu moc neverim, zkusil som ho po nemecky, moc sa nevyznamenal), na dlhe nemam trpezlivost. If you want me to write correctly, I am quite willing to continue in English. Are you?
Andy99 napísal:Ja som pozadoval vstupny subor, aby som ti mohol vyvratit tvoje tvrdenie, ze ten moj nefunguje. Kludne mozes casti, ktore nemaju byt verejne nahradit "xxx" ;).
Uloz ako txt
http://eshop.novatech.sk/zbozi?zb=ryzen
U CSOB som vystacil s tim, ze som txt "rb" a tych par znakov nahradil tabulkou. U Novatech chcem vyfiltrovat motherboards. Tak som sa rozhodol, urobit cosi znovu pouzivatelne.
Andy99 napísal: ASC.PY
1. ma byt volany ako samostatny modul?
Nie, dokumentace Pythonu je v tomto smeru zvadzajuci.
a) if __name__ som vyhodil, uplne zbytocne
b) premenoval som ho na SUBS.PY - CSOB.PY sa bude cudovat...
c) casom tam pridam dalsie funkcie
d) musi vyriesit, kde ho umistim; C:\WINDOWS nie je dobré miesto
Andy99 napísal:1.1. ak nie, zapisovat vstup/vystup do suborov nie je nastastnejsie riesenie
Zial, ziadny iny zposob nevidim. Toto nie je zadanie
"Na standardnom chessbord su dane dve policka. Najdite najkratsiu cestu konikom z policka 1 do policka 2".

Ja neviem, co budem robit. Prva vec je mat vobec predstavu, co v tom file je. Utesujem sa, ze tie temporary files nakonec sluzi ako logs. Ja mam alespon tu slusnost, tie files nakonec vymazat.
Andy99 napísal:1.2. Odporucam tento script prepisat ako modul a zakazdym ho radsej includnut
Nechapem, co tym myslis. (Modul pre mna moze znamenat celkom hocico.)
Andy99 napísal:"if not os.path.isfile(sys.argv[1]):"
Preco overujes len 1. argument, 2. je hadam nepovinny?
Ten prvy zadavam ked rozbehnem program, zde je velka p() chyby.
Ten druhy je v programu, bud nefunguje napoprve alebo netreba testovat.
Jedina moznost, ze je locked() inou applikaciou. Pouzivatel ma smolu ;)
Andy99 napísal:"print ("Converting to low ASCII")"
3.1. To nie je predsa pravda, script nemeni velkost pismien, ale konvertuje unicode na ASCII
ASCII je celkom elasticky pojem. Mas pravdu, ze konvertuje na ASCII. Lenze... Plain vanilla IBM PC funguje s osmibitovymi bytes a code page 850 (alebo ako sa to vola) definuje aj chr$(128)-chr$(255), ako à ä á. Coz sa vola "extended ASCII", ale povetsinou len "ASCII". Ak sa chce upresnit sedmibitove ASCII, tak low ASCII. Moc bych sa necudoval ze teraz ked DOS je neucte, ASCII znamena zase low ASCII.
Andy99 napísal:4. "f1=codecs.open(file_in, "r","utf-8")" aj "f2"
Ked uz si chcel pouzit subory, preco si po sebe nezavrel descriptory? Programator by ich mal po sebe pozatvarat. Spoliehat sa na to, ze ich destruktor zavrie nie je vzdy istota. Dalsia moznost je pouzit blok "with", pricom sa zatvara automaticky po opusteni.
Hladal som, ci v Python existuje cosi ako fclose.all() a vyrozumel som, ze Python si zavre VSETKY files. Na to sa budem muset pozret.
Andy99 napísal:5."for line in f1: for line in f1:"
Argh!!! To mi zbylo ked mi to citalo cely file. Opravim. Vdaka.
Andy99 napísal:5.1. To ma aky vyznam? Raz sa tie radky predsa encoduju a hotovo.
6. "line=unicodedata.normalize('NFKD',line)"
  1. 6.1. Tie iste chyby, ktore som uz spominal v predoslom prispevku...
    6.2. Uz nie je potrebne odstranovat znaky, ktore si spominal v predoslom prispevku?
Posledna verzia, funguje na novatech.txt:

Kód: Vybrať všetko

def to_low_ascii(file_in,file_out):
  print ("SUBS.PY: to_low_ascii",file_in,"->",file_out)
  import os, sys, getopt, codecs, unicodedata
  if not os.path.isfile(sys.argv[1]):
    print("Could not open",sys.argv[1])
    exit()
  try:
    f2=open(file_out,"w")
  except IOError as e:
    print(e)
    exit()
  f1=codecs.open(file_in,"r","utf-8")
  for line in f1:
    line=unicodedata.normalize('NFKD',line)   \
                    .encode('ascii','ignore') \
                    .decode("utf-8")          \
                    .rstrip()
    if len(line)>0: print(line,file=f2)
  f1.close()
  f2.close()
Ak ten .decode() vykopnem, pise v binary. Ak mi neveris, musis prijit do Cadce na kavu. :)

CSOB.PY si nechame na pozdeji, uz je toho vela.
Andy99 napísal:To co som ti napisal neber v zlom, ale prave naopak, skus sa z toho poucit :).
Neberem to vo zlom. Ja rad poslucham, co mi kto poradi. Co s radou urobim je uz moja vec.
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

Napísať odpoveď