Írjunk meg a saját grep függvényünket!
Kérjen egy fájlnevet, illetve egy karakterláncot, majd írja ki azokat a sorokat, amikben a karakterlánc megtalálható. A grep parancshoz hasonlóan a függvény ne használjon sok memóriát gigantikus fájlok esetén sem!
A feladat megoldása során a numpy
csomag loadtxt()
parancsa nem használható!
A grep()
függvény a kért fájlt megnyitja, majd a sorain egyesével végigmenve, megnézi, hogy az s
string benne van-e a sorban. A memóriaterhelést úgy oldjuk meg, hogy nem olvassuk be egyszerre az összes sort, hanem egy for-ciklussal végigmegyünk a sorokon.
def grep(fn,s):
"""Keresd meg stringet a fajlban, es ird ki a sort amiben megvan."""
with open(fn) as f:
for sor in f:
if s in sor:
print(sor)
Ellenőrzésül kipróbálhatjuk az előző feladatban használt verssel:
grep("../data/szeptemer_vegen.txt", "már")