Aşağıdakı bölmələr təyinat olaraq yeni qovluqdan (qovluqdan) istifadə edərək Python-da yeni faylın necə yaradılması və saxlanacağını izah edir.
- Open() ilə mövcud olmayan kataloqu təyin edərkən xəta(
FileNotFoundError
) os.makedirs()
Kataloq yaradın- Təyinat yeri ilə yeni fayl yaratmaq üçün kod nümunəsi
Aşağıdakı mətn faylının nümunəsidir.
Şəkilləri saxlayarkən, mövcud olmayan kataloqu ehtiva edən yolu təyin edə bildiyinizdən (yaxud mövcud olmayan kataloqu avtomatik olaraq yaradıb-yaratmayacağınız) kitabxanadan asılıdır.FileNotFoundError
Bu xəta baş verərsə, aşağıdakı nümunədə olduğu kimi yadda saxlamaq funksiyasını yerinə yetirməzdən əvvəl os.madeirs() ilə yeni kataloq yarada bilərsiniz.
Open() ilə mövcud olmayan kataloqu təyin edərkən xəta(FileNotFoundError)
Daxili open() funksiyası ilə yeni fayl yaratarkən, təyinat kimi ilk arqument kimi yeni kataloq (mövcud olmayan kataloq) olan yol göstərildikdə xəta baş verir.(FileNotFoundError
)
open('not_exist_dir/new_file.txt', 'w')
# FileNotFoundError
open() funksiyasının ilk arqumenti mütləq yol və ya cari kataloqa nisbətən yol ola bilər.
Mövcud kataloqda yeni fayl yaratmaq və ya mövcud faylın üzərinə yazmaq və ya ona əlavə etmək kimi open() funksiyasının əsas istifadəsi üçün aşağıdakı məqaləyə baxın.
Kataloq yaradın(os.makedirs())
Mövcud olmayan qovluqda yeni fayl yaratarkən open()-dan əvvəl qovluğu yaratmaq lazımdır.
Əgər siz Python 3.2 və ya daha yeni versiyalardan istifadə edirsinizsə, os.makedirs() funksiyasından exist_ok=True arqumenti ilə istifadə etmək rahatdır. Hədəf kataloq artıq mövcud olsa belə, heç bir xəta baş verməyəcək və kataloq bir anda yaradıla bilər.
import os
os.makedirs(new_dir_path, exist_ok=True)
Əgər sizdə Python-un köhnə versiyası varsa və os.makedirs()-də exist_ok arqumenti yoxdursa, mövcud kataloqa gedən yolu göstərsəniz, xəta alacaqsınız, ona görə də yoxlamaq üçün os.path.exists() istifadə edin. ilk növbədə kataloqun mövcudluğu.
if not os.path.exists(new_dir_path):
os.makedirs(new_dir_path)
Təfərrüatlar üçün aşağıdakı məqaləyə baxın.
- Əlaqədar Məqalələr:makedirs Python-da rekursiv şəkildə dərin iyerarxik kataloqlar yaratmaq üçün
Təyinat yeri ilə yeni fayl yaratmaq üçün kod nümunəsi
Aşağıda təyinat qovluğunu təyin etməklə yeni fayl yaradan və saxlayan funksiyanın kod nümunəsi verilmişdir.
Birinci arqument dir_path təyinat qovluğunun yolu, ikinci arqument fayl adı yaradılacaq yeni faylın adı və üçüncü arqument file_content hər biri sətir kimi göstərilən yazılacaq məzmundur.
Göstərilən kataloq mövcud deyilsə, yenisini yaradın.
import os
def save_file_at_dir(dir_path, filename, file_content, mode='w'):
os.makedirs(dir_path, exist_ok=True)
with open(os.path.join(dir_path, filename), mode) as f:
f.write(file_content)
Aşağıdakı kimi istifadə edin.
save_file_at_dir('new_dir/sub_dir', 'new_file.txt', 'new text')
Bu halda, new_dir\sub_dir-də “yeni mətn” məzmunlu new_file.txt faylı yaradılacaq. Başqa sözlə, aşağıdakı fayl yeni yaradılacaq.new_dir/sub_dir/new_file.txt
Kataloq və fayl adlarının os.path.join() ilə əlaqələndirilməsi.
Həmçinin, open() rejimi arqument kimi müəyyən edilir. Mətn faylları üçün standart ‘w’ yaxşıdır, lakin ikili fayl yaratmaq istəyirsinizsə, mode=’wb’ təyin edin.