Zistenie počtu riadkov v textovom súbore – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Zistenie počtu riadkov v textovom súbore – Python – Fórum – Programujte.comZistenie počtu riadkov v textovom súbore – Python – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
pato830
Newbie
18. 11. 2007   #1
-
0
-

Zdravím všetkych, potreboval by som pomocť ohľadne zistenia počtu riadkov v textovom súbore. Po zistení počtu riadkov, by mal do nového riadku zapísať potrebné údaje.

nazov='Historia.txt'

subor=open(nazov,'a')
for line in subor
line +1
vstup=raw_input('Zadaj svoje meno: ')+(' : ')+(str(vysledok.count(1)))
subor.write(vstup)
subor.close()
Pravdepodobne je celý tento kod zlý, ale neviem sa posunúť dalej, bo je to iba časť kodu z celeho programu. Dakujem.

Nahlásit jako SPAM
IP: 217.12.51.–
Reklama
Reklama
Blujacker
~ Moderátor
0
Grafoman
18. 11. 2007   #2
-
0
-

já bych počet řádku zjištoval takto:



soubor=file(s,'r')
pocet_radku=soubor.count("\n")
soubor.close()

Nahlásit jako SPAM
IP: 213.220.226.–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
pato830
Newbie
18. 11. 2007   #3
-
0
-

To Blujacker : Diki moc, ale to nefunguje. My vyhodí takýto error:

Traceback (most recent call last):

File "/home/pato/Programovanie/Keno10/Keno10/Keno10_v1.0.py", line 61, in <module>
pocetriadkov=subor.count("\n")
AttributeError: 'file' object has no attribute 'count'
:/

Nahlásit jako SPAM
IP: 217.12.51.–
geon0
Grafoman
18. 11. 2007   #4
-
0
-

nazov='Historia.txt'

subor=open(nazov,'r')
radku=0
for line in subor:
radku=radku+1

print radku
subor.close()

Nahlásit jako SPAM
IP: 83.69.40.–
geon. volume doprava.
Blujacker
~ Moderátor
0
Grafoman
18. 11. 2007   #5
-
0
-

To pato83 :
Promin, už mi to dneska nemyslí. Zapoměl jsem napsat jeden řádek, takže je to takhle:



soubor=file('regu.py','r')
print soubor.read().count("\n")
soubor.close()

Nahlásit jako SPAM
IP: 213.220.226.–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
pato830
Newbie
23. 11. 2007   #6
-
0
-

To geon : Dakujem, velmi pekne geon. Funguje to skvele, za premennu Riadok mi dosadi počet riadkov. Takže toto by sme mali :) Tak teraz ešte sa musím potrápiť s tým zapisom do nového riadku, bo keď dám sposob prístupu k súboru "a" , tak vyhodí chybu. A keď dám "r", tak zas nemože zapísať údaje. Ale každopádne dakujem. Kod som dal takto nejak:

nazov='Historia.txt'

subor=open(nazov,'a')
radku=0
for line in subor:
radku=radku+1
vstup=raw_input('Zadaj svoje meno: ')+(' : ')+(str(vysledok.count(1)))
subor.write(vstup)
print radku
subor.close()
Nechcem všetko aby niekto za mna spravil, takže ak chcem už vela, tak ma pošlite :D

To Blujacker: Diki moc aj tebe, už to ide.

Ku dnešnemu dnu, 23.11, som dosiel k zaujímavému poznatku a neviem si ho vysvetlit. Stále je to o tom, že chcem na určitý riadok zapísať údaje. Chcel som to pomocou zistenia počtu riadkov a následne zapísaním dát na nasledujúci riadok. Žial, nenašiel som žiadnu funkciu, ktorej by mohlo byť parametrom určité čisle pre daný riadok v súbore. Ako som tak skúšal a skušal, som natrafil však na zaujímavý fakt. Pri zápise:
subor=file('Historia.txt','a')

zapis=raw_input('Zadajte svoje meno: ')+(' : ')+(str(vysledok.count(1)))
subor.writelines(zapis)
subor.close()
Na začiatku vytvorí súbor, ak ho uz nemáme a my ho nemáme. Lahšie na vysvetlenie pre mna. Prebehne celý program, vypýta si potrebné vstupy od uzivatela a zapiše ich do prveho riadku. Pri dalšom prebehnutí si znova vypýta potrebne vstupy a zapíše ich do toho isteho riadku ako predchádzajúce údaje. A takto sa to opakuje, a to ja nechcem. Lenže, ak si medzi prvým a druhym spustením programu otvorim textový súbor, kam sa ukladajú údaje a dopíšem tam hocičo, či už do nového riadku, alebo za už zapisané údaje a uložim to, tak pri nasledujúcom spustení programu mi dáta zapíše do nového riadku. A vobec nechapem prečo. Toto by sa možno dalo aj nejak na prospech využiť. Vie mi to niekto aspon vysvetliť? Ďakujem :)

Nahlásit jako SPAM
IP: 217.12.51.–
pato830
Newbie
24. 11. 2007   #7
-
0
-

Takže na moje potešenie problém zápisu údajov vždy do nového riadku vyriešený :)

historia=('Historia.txt')

subor=file(historia,'a')
zapis=raw_input('Zadajte svoje meno: ')+(' : ')+(str(vysledok.count(1)))
subor.write((zapis) + '\n')
subor.close()
Možno si niekto z predchadzajúcich príspevkov pomysli, že aký je ten človek lenivý, ale nie je to tak. Jediný problém bol však vtom, že som v tejto časti kodu: subor.write((zapis) + '\n') , nedal ZAPIS do zatvoriek a mi to vždy vypisovalo chybu a tak som hladal inu cestu. Takže všetkym velmi pekne ďakujem, ja sa ešte ozvem :D

Nahlásit jako SPAM
IP: 217.12.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 24 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý