Kezdőoldal » Számítástechnika » Programozás » Hogy kell fájlból beolvasni/fá...

Krisipoke kérdése:

Hogy kell fájlból beolvasni/fájlba kiírni Pythonban?

Figyelt kérdés

Találtam egy tutorialt a pythonhoz, ami szerint a következőképp lehet beolvasni egy fájl tartalmát, majd kiíratni azt:


f=open('proba.txt', 'r')

f.readline()


Ugye előzetesen megcsináltam egy proba.txt fájlt, amit ugyanoda mentettem el, ahova magát a programot. Az oké, hogy felismeri, hogy van ott valami, viszont nem ír ki semmit (csak annyit, hogy "A folytatáshoz nyomjon meg egy billentyűt..."), és nem tudok rájönni, hogy ez miért lehet.

A fájlba való kiíratásig még nem jutottam el, de gondolom hasolóképp működik, tehát felteszem, hogy az se működne a leírtak szerint.


Ja, és még arra lennék kíváncsi, hogy hogy lehet objektumként/változóként felvenni ennek a fájlnak a különböző sorait, esetleg szavait?


A választ előre is köszönöm!


2011. ápr. 4. 17:40
 1/7 anonim ***** válasza:

Egyrészt

print f.readline()


mert amúgy nem fogja kiírni, az olvasás megtörténik, de nem kezdesz semmit a kapott stringgel. Másrészt ez csak akkor működik így, ha onnan is indítod, nem csak ott van.


Sorok felvétele: végigmész ciklussal (pl

arr = []

while line = f.readline:

arr.append(line)


/pl)

2011. ápr. 4. 19:30
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:

Köszi, sikerült közben kiíratni a képernyőre, mondjuk nagyon úgy rémlik, mintha ezt már próbáltam volna egyszer, mégse volt jó... Na mindegy. A többit még nem volt alkalmam kipróbálni.


Még annyi, hogy Geany-ben csinálom a dolgokat, illetve letöltöttem otthon a Python 2.7-et (mert azt ajénlotta a tanár, és itt, a suliban is az van a gépeken), telepítettem, de amikor próbálok elindítani egy programot otthon, akkor kiírja, hogy fogalma sincs, mi az a "python" (ahhoz képest, hogy magától beírta a fordítóba, amikor valami.py néven mentettem el a programot...), így le sem futtatja, amit írtam, viszont itt, a suliban igen. Van esetleg valami további dolog, amit telepítenem kéne, vagy ilyesmi? A további választ is előre köszönöm!

2011. ápr. 5. 11:14
 3/7 anonim ***** válasza:
Ez azért van, mert nem írta be magát a PATH nevű környezeti változóba. Linux és Windows rendszeren is ez egy olyan változó, amiben egy karakterrel (Windowson asszem ;, Linuxon :) elválasztva fel van sorolva egy rakás könyvtár elérési útja, és többek között itt keres a shell, amikor beírsz valamit, hogy indítsa el. Tehát ha beírod, hogy python xy.py akkor megpróbál megkeresni egy python (vagy python.exe vagy python.com vagy python.bat meg még isten tudja mi) nevű futtatható állományt, és ha nem talál, akkor fogja ezt írni. Rakd be a PATH-ba a python bin könyvtárát, és jó lesz.
2011. ápr. 5. 12:59
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
Köszi, sikerült! :)
2011. ápr. 6. 22:16
 5/7 A kérdező kommentje:

Na, még annyi kéne, hogy...

Az a feladat tulajdonképpen, hogy egy szöveges fájlban vannak termékmegnevezések, és alatta arra a termékre különböző licitek, tehát valahogy így:


asztal

5200

3800

szék

870

990

550

sámli

349


A feladat pedig az lenne, hogy egy másik fájlba ki kéne iratni a termékeket, mellettük pedig a rájuk érkezett legmagasabb licitet, tehát valahogy így:


asztal 5200

szék 990

sámli 349


És nem iagzán tudom, hogy azt hogy kéne megoldani, hogy a python felismerje beolvasáskor, hogy melyik sor tartalmaz számokat, és melyik szöveget... Vagy hogy így egyáltalán hogy kéne ezt az egészet. Bocs, ha nagyon fárasztó vagyok, de még csak most kezdtem tanulni a pythont.

2011. ápr. 7. 15:51
 6/7 anonim ***** válasza:

Minden szöveg, amikor a file-ból beolvasod!

Mondjuk beolvasol valamit az x változóba.


try:

__y=int(x)

except ValueError:

__y=-99999


A __ helyére szóközöket írj, az a behúzás! A -99999 egy olyan szám, amit biztosan nem olvashatsz be. Ha x szám, y-ban lesz az eredmény.


Vagy:

try:

__y=int(x)

__SZAM=True

except ValueError:

__SZAM=False


Ez megpróbálja számmá alakítani, és ha nem megy, akkor az except ágra kerül.

2011. ápr. 7. 19:33
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:
Azt még megkérdezhetem, hogy melyik iskola ez? Csak kíváncsi vagyok, hol tanítanak Pythonban.
2011. ápr. 7. 19:34
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!