Python oxu faylı

Sistem dizaynı ilə bağlı müsahibə sualları o qədər açıq ola bilər ki, düzgün hazırlaşmağı bilmək çox çətindir. İndi satın aldıqdan sonra Amazon, Microsoft və Adobe-nin dizayn dövrlərini sındıra bilirəm Bu kitabı. Gündəlik bir yenidən nəzərdən keçirin dizayn sualı və söz verirəm ki, dizayn dövrünü sındıra bilərsiniz.

Biz faylları oxuya bilərik Python onun köməyi ilə daxili funksiyalar. Python-da iki növ faylla məşğul oluruq.

  • Mətn faylları: Mətnin hər bir sətri Xəttin Sonu simvolu adlanan xüsusi simvol ('\n') ilə bitir. '\n' xüsusi simvolu Python-da Newline simvolu da adlanır.
  • İkili fayllar: 0 və 1 ilə yazılmışdır. Burada Xəttin Sonu xarakterimiz yoxdur. Biz məlumatları maşının başa düşdüyü ikili dilə çevirdikdən sonra saxlayırıq.

Giriş rejimi nədir?

Açıq funksiyaya parametr kimi giriş rejimini, ardınca isə fayl adını veririk. Giriş rejimi açılmış faylda hansı hərəkətləri yerinə yetirəcəyimizə cavabdehdir. Həmin giriş rejimi tərəfindən dəstəklənməyən əməliyyatı etməyə cəhd etsək, xəta alacağıq.

Fayldakı fayl idarəsinin yeri də giriş rejimi ilə müəyyən edilir. Fayl idarəedicisi verilənlərin fayldan oxunmalı və ya fayla yazılmalı olduğu yeri təyin edən kursor kimi fəaliyyət göstərir. Faylı oxumaq üçün istifadə etdiyimiz müxtəlif giriş rejimləri bunlardır:

  • Yalnız oxumaq üçün('r'): Əgər etməsək girişi müəyyənləşdirin rejimi, onda standart rejim yalnız oxumaq üçündür. Adından da göründüyü kimi biz yalnız açılmış faylı oxuya bilirik, başqa əməliyyatlara icazə vermir. Yalnız oxumaq üçün rejimdə fayl idarəsi faylın əvvəlində yerləşir. Fayl daxil olduqda I/O xətası yaranır mövcud deyil.
  • Oxu və yaz('r+'): Yalnız oxumaq rejimindən fərqli olaraq, oxumaq və yazma rejimi faylda həm oxumaq, həm də yazma əməliyyatlarına imkan verir. Fayl idarəedicisi faylın əvvəlində yerləşir. Fayl mövcud olmadıqda I/O xətası yaranır
  • Əlavə edin və oxuyun('a+'): Faylda həm oxumaq, həm də yazma əməliyyatlarına imkan verir. Əgər faylda mövcud məlumatlar varsa, o zaman yeni məlumatlar sonunda yazılacaq. Fayl idarəedicisi faylın sonunda mövcuddur. Əgər fayl mövcud deyilsə, o, I/O xətasını artırmaq əvəzinə adı göstərilən yeni fayl yaradır.

Faylı necə açmaq olar:

Open funksiyasından istifadə edərək faylı açırıq. Biz idxal bəyanatına ehtiyac olmadan funksiyadan birbaşa istifadə edə bilərik. Artıq qeyd edildiyi kimi, biz fayl adını və giriş rejimini parametr kimi açıq funksiyaya keçirik.

Sintaksis:

file_oject=open(r'filename',access_mode)

Əgər oxunacaq fayl ilə eyni qovluqdadırsa python faylı, onda biz birbaşa fayl adından istifadə edə bilərik. Əks halda, biz fayl yerinin tam ünvanını göstərməliyik.

Bundan əlavə, biz fayl adından əvvəl r simvolundan istifadə edirik. Bunun səbəbi, fayl adındakı simvolların xüsusi simvollar kimi səhv salınmasının qarşısını alır. Məsələn, deyək ki, faylın ünvanında \temp var. Python, \t-nin nişan simvolu olduğunu qəbul edir və etibarsız ünvana görə xəta yaradır. r simvolu fayl adının xam sətir olduğunu və heç bir xüsusi simvolu ehtiva etmədiyini bildirir. Əgər fayl Python faylı ilə eyni qovluqdadırsa, biz buna məhəl qoya bilərik, çünki faylın ünvanı tələb olunmur.

Nümunələr:

#opening a file present in the same directory
file1=open('output.txt','r')

#opening a file present in the different directory
file2=open(r'C:\Users\UserName\Desktop\backup\myPython\Notebook\output1.txt','r+')

Səhvlər:

  • Giriş rejimi tərəfindən dəstəklənməyən bir əməliyyat etdikdə xəta alacağıq. Yalnız oxumaq üçün rejimdə açılan fayla yazmağa çalışaq.
#opening a file present in the same directory
file1=open('output.txt','r')
file1.write('some text')
Traceback (most recent call last):
  File "sample.py", line 3, in <module>
    file1.write('some text')
io.UnsupportedOperation: not writable
  • Fayl məkanda yoxdursa, xəta alacağıq.
Traceback (most recent call last):
  File "sample.py", line 2, in <module>
    file1=open('output2.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: 'output2.txt'

Faylı necə bağlamaq olar:

Faylı bağlamaq üçün close() funksiyasından istifadə edirik. Faylı iki ssenari ilə bağlayırıq:

  • Artıq fayldan istifadə etmədiyimiz zaman.
  • Faylı fərqli giriş rejimində açmalı olduğumuz zaman.

Close() funksiyası həmçinin faylı bağlayarkən faylın tutduğu yaddaş yerini boşaltmaqdan məsuldur.

Misal:

file1=open('output.txt','r')
file1.close()

Fayldan necə oxumaq olar:

Gəlin əsas hissəyə keçək, o da python-da fayldan necə oxumaqdır. Fayldan oxuduğumuz üç yol var.

oxu ():

Sintaksis:

file_object.read([n])

Fayldan n bayt oxuyun. Əgər n göstərilməyibsə, bütün faylı oxuyur. O, a-da oxunan baytları qaytarır simli format.

readline():

Sintaksis:

file_object.readline([n])

Faylın sətirini oxuyur və onu sətir formatında qaytarır. Sətirdə maksimum n baytı oxuyur. N xəttinin uzunluğundan böyük olsa belə, birdən çox sətirdən oxunmur.

readlines():

Sintaksis:

file_object.readlines()

Faylın bütün sətirlərini oxuyun və onu bütün sətirlərin siyahısı kimi qaytarır, hər bir sətir sətir formatındadır. Yeni sətir simvolu '\n' iki baytlıq xüsusi simvol kimi qəbul edilir.

Misal:

#opening a file present in the same directory
file=open('output.txt','w')
data=["Book,Author\n","Book 1,Author X\n","Book 1,Author Y\n","Book 1,Author Z\n","Book 5,Author G\n","Book 27,Author F\n"]

#writing data into file
file.writelines(data)

#closing file to read it in a read mode
file.close()

file=open('output.txt','r+')

print("Output of read function:")
print(file.read())

#seek takes the file to the nth byte from the beginner
file.seek(0)

print('Output of readline function:')
print(file.readline())

file.seek(0)

#Difference between read and readline function
print('Output of read(20) function:')
print(file.read(20))
print('\n')
file.seek(0)
print('Output of readline(20) function')
print(file.readline(20))

file.seek(0)

print('Output of readlines function')
print(file.readlines())
Output of read function:
Book,Author
Book 1,Author X
Book 1,Author Y
Book 1,Author Z
Book 5,Author G
Book 27,Author F

Output of readline function:
Book,Author

Output of read(20) function:
Book,Author
Book 1,A


Output of readline(20) function
Book,Author

Output of readlines function
['Book,Author\n', 'Book 1,Author X\n', 'Book 1,Author Y\n', 'Book 1,Author Z\n', 'Book 5,Author G\n', 'Book 27,Author F\n']

Readline və readline funksiyası arasındakı fərqi görə bilərsiniz, belə ki, readline-da n xəttin uzunluğunu keçsə belə, növbəti sətirdən oxunmur.

Bəyanatla:

ilə bəyanat istisnanı idarə edir. O, həmçinin kodu daha təmiz və oxunaqlı edir. O, fayl resurslarının əldə edilməsi və buraxılmasına diqqət yetirməklə fayl resurslarının idarə edilməsini asanlaşdırır. Beləliklə, biz ifadə ilə istifadə edərkən close() funksiyasından istifadə edərək faylı bağlamağa ehtiyac duymuruq.

Sintaksis:

with open(r'filname',access_mode) as file

Misal:

data=["Book,Author\n","Book 1,Author X\n","Book 1,Author Y\n","Book 1,Author Z\n","Book 5,Author G\n","Book 27,Author F\n"]

#opening a file present in the same directory
with open('output.txt','w') as file:
    file.writelines(data)

with open('output.txt','r+') as file:
    print(file.read())

Burada biz faylı bağlamırıq, onu başqa bir giriş rejimində açmaq üçün. with ifadəsi close() funksiyasına ehtiyacı aradan qaldırır.

Crack Sistemi Dizayn Müsahibələri
Translate »