Menü Kapat

Pythonda fayllar üzərində işləmək üçün əvvəlki funskiyalardan əlavə fayl.seek() funksiyası vardır. Belə ki fayl üzərində iş apararkən, məsələn, faylı oxuyarkən göstərici faylın sonuna gedir. Onu əvvələ aparmaq üçün bu funksiyadan istifadə edilir. Bir misala baxaq

  • fayl=open(‘mynewfile.txt’,’w+’)
  • fayl.write(‘this is my firt line\n and this is my second line\n’)
  • a=[]
  • fayl.seek(0)
  • for d in fayl:
  •     a.append(d)
  • print(a)
  • fayl.close()

Buarada mynewfile.txt adlı faylı açırıq və w+ onun həm məlumat, yazılması həm də məlumatın oxunması məqsədilə açıldığını bildirir. a adlı boş list yaradılır və faylda olan məlumatlar bu listə köçürülür, sonra da çıxışa verilir. Əgər burada fayl.seek()dən istifadə etməsəydik bizə boş list çıxışa veriləcəkdi. Çünki, göstərici fayla məlumat yazıldıqdan sonra sonda yerləşir. Sonda da məlumat olmadığı üçün listə heç bir məlumat ötürülməyəcəkdi

Fayl.writelines() əvvəldə fayl.readlines() haqqında danışmışdıq. Onun fayl.read()-dan fərqi sətirləri siyahı tipində oxuması idi. Çünki təkcə fayl.read() yazsaq və siyahı tipində oxumasını istəsək for-dan istifadə etməliyik. fayl.writelines() vasitəsilə də oxşar funskiyanı yerinə yetirmək olar. Əgər verilənlərin siyahı tipində yazılmağını istəyiriksə onda writelines()-dan istifadə etməliyik. Məsələn:

  • fayl=open(‘mynewfile.txt’,’w’)
  • fayl.writelines([‘this is my firt line\n’,’and this is my second line\n’])
  • fayl.close()

Burada informasiyanın yazılması məqsədilə fayl yaradırıq və siyahı tipində məlumatı ona yazırıq

Əvvəlki nümunələrdə faylı açmaq üçün open funksiyasından istifadə edirdik onun hansı məqsədlə açıldığını qeyd edirdik və sonra bu faylı bağlayırdıq. Lakin bunu daha da asanlaşdırmaq olar. Belə ki bunun üçün With-dən istifadə edirik. misala baxaq:

  • with open (‘myfile.txt’,’r+’) as file:
  •     file.write(‘this is new file’)
  •     file.seek(0)
  •     print(file.read())

Burada göründüyü kimi faylı bağlamağa ehtiyac qalmır. Dediklərimizi ümumiləşdirərək başqa misala da baxaq

 

  • with open (‘myfile.txt’,’w+’) as file:
  •     file.writelines([‘this is new file\n’,’this is second line\n’,’and this is the last line\n’])
  •     file.seek(0)
  •     a=file.read()
  •     a=a.split()
  •     print(a)

Burada göründüyü kimi writelines vasitəsilə fayla siyahı tipində məlumatlar yazılır.  Sonra seek() vasitəsilə göstərici faylın əvvəlində yerləşdirilir. Bundan sonra bütün məlumatlar a boş listinə yazılıb çıxışa verilir