hello. som zaciatocnik ucim sa python a s pomocou som si napisal program na rozlustenie jednoduchej sifry : "09I03M07A16N05 02A14H08D12Y01M15O06R10 04E11P13T" , program vyzera takto :
import re
veta='09I03M07A16N05 02A14H08D12Y01M15O06R10 04E11P13T'
sifra = re.findall('(..)(.)',veta)
sifra.sort()
print ''.join([y for(x,y)in sifra])
chcel by som ale aby mi tuto sifru nacitalo zo suboru.txt program som spravil takto :
import re
subor = file('subor.txt', 'r')
cisloRiadku=0
for riadok in subor:
cisloRiadku=cisloRiadku+1
subor.close()
sifra = re.findall('(..)(.)', subor)
sifra.sort()
print ''.join([y for(x,y)in sifra])
program mi nefunguje a vypisuje mi toto :
ip@ip:~$ python /media/1CE84E98E84E7056/download/programming/python/vylepsene/desifrator2.py
Traceback (most recent call last):
File "/media/1CE84E98E84E7056/download/programming/python/vylepsene/desifrator2.py", line 9, in <module>
sifra = re.findall('(..)(.)', subor)
File "/usr/lib/python2.6/re.py", line 177, in findall
return _compile(pattern, flags).findall(string)
TypeError: expected string or buffer
viete mi poradit kde som spravil chybu a ako to opravit ? dakujem
python
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: python
file otvoris takto
ale nechapem co tam robis s tym cislom riadku, to ako chces vediet kolko viet mas v tom subore alebo co?
ak je v tom textaku viac tych sifier tak si ich uloz do nejakeho listu a potom pracuj s nim, alebo neviem co chces vlastne spravit
to ulozenie do listu moze byt nieco taketo
alebo ich posielaj priamo do tej metody nejako takto
Kód: Vybrať všetko
subor = open( "tvojSubor.txt" , "rt" )ak je v tom textaku viac tych sifier tak si ich uloz do nejakeho listu a potom pracuj s nim, alebo neviem co chces vlastne spravit
to ulozenie do listu moze byt nieco taketo
Kód: Vybrať všetko
list = []
for line in subor:
list.append(line)Kód: Vybrať všetko
for line in subor:
sifra = re.findall('(..)(.)', line)
sifra.sort()
print ''.join([y for(x,y)in sifra])