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)"
- 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.
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)