Fayldan o`qish
Faylni ochganimizdan keyin, endi undagi ma`lumotlarni o`qishimiz kerak bo`ladi. Buning bir necha xil usuli bor bo`lsada, ulardan quyidagi ikkitasiga e`tiboringizni qaratamiz:
Birinchisi – read metodi bo`lib, u agar argumentlarisiz qo`llanilgan bo`lsa, faylni to`liqligicha o`qiydi. Agar butun sonli n argumentini qo`llangan bo`lsa, shuncha (n ta) sonli belgilarni o`qiydi.
>>> f = open('text.txt')
>>> f.read(1)
'H'
>>> f.read()
'ello world!\nThe end.\n\n'
>>> f = open('text.txt')
>>> for line in f:
... line
...
'Hello world!\n'
'\n'
'The end.\n'
'\n'
Bu ishni amalga oshirishning yana bir usuli – for takrorlash operatoridan foydalangan holda faylni satrma-satr o`qish.
Faylga yozish
Endi esa fayla yozishni ko`rib chiqamiz. Faylimizga quyidagicha ro`yxatni yozishni ko`rib chiqaylik:
>>> l = [str(i)+str(i-1) for i in range(20)]
>>> l
['0-1', '10', '21', '32', '43', '54', '65', '76', '87', '98', '109', '1110', '1211', '1312', '1413',
˓→'1514', '1615', '1716', '1817', '1918']
Faylni yozish uchun ochamiz:
>>> f = open('text.txt', 'w')
Faylga yozish write metodi yordamida amalga oshiriladi:
>>> for index in l:
... f.write(index + '\n')
...
4
3
3
3
3
Bu sonlar nimaligini tushunmagan bo`lsangiz, tushuntirib beray: write metodi yozilgan simvollar sonini qaytaradi.
Fayl bilan ishlashyakuniga yetgach, uni albatta, close metodi yordamida yopish kerak bo`ladi.
>>> f.close()
Endi esa hosil bo`lgan faylimizdan shu ro`yxatimizni chaqirishga harakat qilib ko`ramiz. Faylni o`qish uchun ochamiz (Umid qilamanki, siz buni qanday bajarilishini tushundingiz) va satrlarni o`qiymiz.
>>> f = open('text.txt', 'r')
>>> l = [line.strip() for line in f]
>>> l
['0-1', '10', '21', '32', '43', '54', '65', '76', '87', '98', '109', '1110', '1211', '1312', '1413',
˓→'1514', '1615', '1716', '1817', '1918']
>>> f.close()
Biz o`sha oldingi ro`yxatimizga ega bo`ldik. Bundan murakkabroq holatlarda (lug`atlar, ichki kortejlar va h.k.) uchun yozish algoritmi nisbatan murakkabroq bo`ladi. Bizga bu kerak ham emas. Pythonda allaqachonlar pickle yoki json kabi murakkab strukturalarni saqlash vositalari o`ylab topilgan.
24-bob
Dostları ilə paylaş: |