Python 2. x-ben hogy lehet az alábbi problémát orvosolni?
Van egy beadandó, amiben az kell, hogy van egy data,txt meg egy update.txt.
data.txt:
1. kenyér; jó; 1230
2. lámpa, rossz; 340
3. mosógép; közepes; 3450
4. tv; jó; 45000
update.txt:
1. 1200
2. elem; AAA; 345
4. tv; 120 cm; 2300000
Ezekből kell megcsinálni a newdata,txt fájl, ami így néz(ne) ki:
1. kenyér; jó; 1200
2. elem; AAA; 345
3. mosógép; közepes; 3450
4. tv; 120 cm; 2300000
Hogy lehetne ezt Pythonban kivitelezni?
Hol van az "alábbi probléma"?
Itt egy feladat van.
Árajánlatot szeretnél rá?
1. Soronként beolvasod a két file-t és listákat csinálsz belőlük
2. Az update.txt-ből készült lista elemeit átírod a jó helyre
3. Az így keletkezett listát mented elemenként, új sorokba
Jó, valóban inkronkrét voltam.
Nos az elképzelésem megvan, de a kivitelezéssel van gond.
Így néz ki a kód:
#!/usr/bin/python
i=0
faz,fnev,ftul,far=[],[],[],[]
f=open("data.txt", 'r')
for line in f:
int(faz[i]),fnev[i],ftul[i],int(far[i])=[line.split(".",";")]
i=i+1
f.close()
k=0
gaz,gmod=[],[]
g=open("update.txt", 'r')
for line in g:
int(gaz[k]),gmod[k]=line.split(".")
k=k+1
g.close()
i=0
k=0
h=open("newdata.txt", 'w')
if faz[i]<gaz[k]:
h.write(faz[i],".",fnev[i], ";", ftul, ";", far,"\n")
i=i+1
elif faz[i]>gaz[k]:
try:
nazov,kvalita,cislo=gmod[k].split("; ")
except SyntaxError:
int(nazov)=gmod[k]
h.write(faz[i],".",fnev[i],";",ftul[i],";",nazov,"\n")
else:
int(cislo)=cislo
h.write(faz[i],".",nazov,";"kvalita,";",cislo,"\n")
finally k=k+1
else:
if gmod[k]=="visszavon" or gmod[k]=="visszavon\n":
i,k=i+1,k+1
else:
try:
nazov,kvalita,cislo=gmod[k].split("; ")
except SyntaxError:
int(nazov)=gmod[k]
h.write(faz[i],".",fnev[i],";",ftul[i],";",nazov,"\n")
else:
int(cislo)=cislo
h.write(faz[i],".",nazov,";"kvalita,";",cislo,"\n")
finally i,k=i+1,k+1
h.close()
Mindig panaszkodik, hogy nem jó az except SyntaxError. Ezt kéne orvosolni.
A SyntaxError azt jelenti, hogy valamit rosszul írtál. A hibaüzenetben benne van, hogy melyik sorban van az a szintaxis hiba.
Ha az az IDE amit használsz nem írja ki hogy melyik sorban van a szintaxis hiba, akkor cseréld le egy másikra.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!