Python dasturlash tilida fayllar bilan ishlash
Fayllar bilan ishlash uchun oldin faylni open() metodi yordamida ochib olishimiz kerak.
f=open(matn.txt, rejim)
Bu yerda: f-fayl o'zgaruvchisi, matn.txt-biz foydalanadigan fayl, rejim-faylni ochish rejimi. Quyidagi jadvalda rejimlar berilgan.
'r'
|
O‘qish uchun ochish (boshqa holat ko‘rsatilmasa, odatiy hol hisoblanadi).
|
'w'
|
Yozish uchun ochish, faylning tarkibi o‘chiriladi, agar bunday fayl mavjud bo‘lmasa, yangisi yaratiladi.
|
'x'
|
Yozish uchun ochish, agar bunday fayl mavjud bo‘lmasa xatolik bo'ladi.
|
'a'
|
Qo‘shimcha yozish uchun ochish. Qo‘shilayotgan ma’lumot faylning yakunidan qo‘shiladi.
|
'b'
|
Ikkilik rejimda ochish.
|
't'
|
Matnli rejimda ochish(boshqa holat ko‘rsatilmasa, odatiy hol hisoblanadi)
|
'+'
|
O‘qish va yozish uchun ochish.
|
Rejimlarni birlashtirib foydalanishimiz mumkin. Masalan, 'rb' ikkilikda o'qish uchun ochadi.
Bundan tashqari fayldan o'qish uchun read(), readline(),readlines(), faylga yozish uchun write(), writelines(), metodlaridan foydalanamiz. Faylni ochib foydalanib bo'lgandan so'ng uni close() metodi yordamida yopishimiz kerak.
Faylni o'qish.
1-masala. input.txt faylida tagma-tag ikkita son yozilgan bo'lib, ularning yig'indisini hisoblovchi dastur tuzing.
f = open('input.txt', 'r')#input faylini ochish
a=int(f.readline())
b=int(f.readline())#2 qatorni o'qish
c=a+b
print('Natija=', c)
f.close()#faylni yopish
2-masala. input.txt faylidagi barcha qatorlarni chop etuvchi dastur tuzing.
f=open('input.txt', 'r')
for s in f: #fayldagi barcha qatorlarni olish
print(s)
f.close()
Faylga yozish.
3-masala. Kiritilgan matnni output.txt fayliga saqlovchi dastur tuzing.
f=open('output.txt','w')
s=input('Matn kiriting: ')
f.write(s)
f.close()
4-masala. 1 dan n gacha sonlarni tagma-tag output.txt fayliga saqlovchi dastur tuzing.
f=open('output.txt','w')
n=int(input('n sonini kiriting: '))
for i in range(1,n+1):
f.write(str(i)+'\n')
f.close()
Fayl borligini tekshirish.
Fayl bor yoki yo'qligini aniqlash uchun os modulining exists funksiyasidan foydalanamiz. Masalan,
import os #os moduliga bog'lash
if os.path.exists('matn.txt'):
print('Bunday fayl mavjud')
else:
print('Bunday fayl mavjud emas')
Faylni o'chirish.
Faylni o'chirish uchun os modulining remove funksiyasidan foydalanamiz. Masalan,
import os
if os.path.exists('matn.txt'):
os.remove('matn.txt')
else:
print('Bunday fayl mavjud emas')
Fayl nomini o'zgartirish.
Fayl nomini o'zgartirish uchun os modulining rename funksiyasidan foydalanamiz. Masalan,
import os
if os.path.exists('matn.txt'):
os.rename('matn.txt', 'salom.txt')
else:
print('Bunday fayl mavjud emas')
Pythonda papka borligini tekshirish.
Papka mavjudligini os modulining isdir() funksiyasi yordamida tekshiramiz. Masalan,
import os
if os.path.isdir('kerak'):
print('Bunday papka mavjud')
else:
print('Bunday papka mavjud emas')
Pythonda papka yaratish.
Papka yaratish uchun os modulining mkdir() funksiyasidan foydalanamiz. Masalan,
import os
if os.path.isdir('kerak'):
print('Bunday papka mavjud')
else:
os.mkdir('kerak')
Papkani o'chirish.
Papkani o'chirish uchun os modulining rmdir() funksiyasidan foydalanamiz. Faqat bo'sh papkalarni o'chirishimiz mumkin. Masalan,
import os
if os.path.isdir('kerak'):
os.rmdir('kerak')
else:
print('Bunday papka mavjud emas')
Papka nomini o'zgartirish.
Papka nomini o'zgartirish uchun ham os modulining rename() funksiyasidan foydalanamiz. Masalan,
import os
if os.path.isdir('kerak'):
os.rename('kerak', 'mening papkam')
else:
print('Bunday papka mavjud emas')
Do'stlaringiz bilan baham: |