Dinamik tiplashtirilgan


Fayl v papkalarni o`chirish



Download 2,16 Mb.
bet36/56
Sana09.03.2022
Hajmi2,16 Mb.
#487710
1   ...   32   33   34   35   36   37   38   39   ...   56
Bog'liq
Ataxonov maruza

3. Fayl v papkalarni o`chirish


Fayl va papkalar bilan ishlaganda, ularni o`chirishga ehtiyoj paydo bo`lishi mumkin. Fayllarni o`chirish uchun os modulida remove(), papkalarni o`chirish uchun esa rmdir() funktsiyalari xizmat qiladi. Bu funktsiyalarning umumiy ko`rinishi quyidagicha:
os.remove('faylning manzili va nomi')
os.rmdir('o`chiriladigan papkaning nomi')
Bu amallarni pathlib moduli yordamida ham hal qilish mumkin. Bu modulda fayllarni o`chirish uchun - unlink(), papkalarni o`chirish uchun esa— rmdir() funktsiyalari javob beradi.Bu funktsiyaarning har ikkisi ham Path ob`ektining nusxalari hisoblanadi.
4. Papkadagi fayllar ro`yxatini olish. Ma`lumotlarni qayta ishlash jarayonida papkadagi fayllar ro`yxatini olishga to`g’ri kelib qolishi mumkin. Odatda bu ro`yxat ma`lum bir shablonga mos keladi. Aytaylik, bizga kengaytmasi .txt bo`lgan fayllar ro`yxati zarur bo`lib qoldi. Bu masalani path ob`ektli glob() metodi yordamida hal qilish mumkin. Shuni yodda tutish kerakki, bu metod iteratsiyalar (takrorlashlar) generatorini hosil qiladi. Quyida ana shu generatorning ishi namoyish qilinadi:
from pathlib import Path
txt_files = list(Path('.').glob("*.txt"))
print("Txt files:", txt_files)

Zarur hollarda glob() metodidan to`g’ridan-to`g’ri foydalanish ham mumkin. Bu holda fayllar ro`yxati aniqlanadi va bu ro`yxatdan keyinchalik ehtiyojga ko`ra foydalanish mumkin. Bu ko`rsatmalarning farqi shundaki, Path.glob() metodi fayllar ro`yxatini manzili bilan birga yaratadi.
from glob import glob
files = list(glob('f*'))
print("h xarfi bilan boshlanadigan fayllar: ", files)

5. Fayllardan nusxa olish va joyini almashtirish. Bu ikki amal fayllar bilan ishlaganda eng ko`p qo`llanadigan amallardan hisoblanadi. Fayllarning joyini almashtirish uchun ularning nomi va manzillari yangisiga almashtiriladi. Faraz qilaylik, joriy papkadagi .txt kenagytmali fayllar joyini boshqa papkaga o`zgartirish talab qilingan bo`lsin. Quyidagi namunada bu masala qanday qilib pathlib moduli yordamida qilish mumkinligi namoyish qilinadi:
maqsad_papka = Path("maqsad_papka")
maqsad_papka.mkdir(parents=True,exist_ok=True)
manba_papka = Path('.')
txt_files = manba_papka.glob('*.txt')
for txt_file in txt_files:
filename = txt_file.name
maqsad_manzil = maqsad_papka.joinpath(filename)
print(f"** Joyi almashtiriladigan fayllar {filename}")
print("Target File Exists:", maqsad_manzil.exists())
txt_file.rename(maqsad_manzil)
print("Target File Exists:", maqsad_manzil.exists(), '\n')

Fayllardan nusha olish uchun shutil modulidagi copy() funktsiyasidan foydalaniladi. Zarur hollarda copy() va glob() metodlarini umumlashtirish mumkin.
import shutil
source_file = "target_folder/hello.txt"
target_file = "hello2.txt"
target_file_path = Path(target_file)
print("* Before copying, file exists:", target_file_path.exists())
shutil.copy(source_file, target_file)
print("* After copying, file exists:", target_file_path.exists())



Download 2,16 Mb.

Do'stlaringiz bilan baham:
1   ...   32   33   34   35   36   37   38   39   ...   56




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish