Aşağıdaki bölümler, hedef olarak yeni bir dizin (klasör) kullanarak Python’da yeni bir dosyanın nasıl oluşturulacağını ve kaydedileceğini açıklamaktadır.
- open() ile var olmayan bir dizini belirtirken hata(
FileNotFoundError
) os.makedirs()
Bir dizin oluşturun- Hedefli yeni bir dosya oluşturmak için örnek kod
Aşağıda bir metin dosyası örneği verilmiştir.
Görüntüleri saklarken, var olmayan bir dizini içeren bir yol belirleyip belirleyemeyeceğiniz (veya yoksa otomatik olarak bir tane oluşturup oluşturmayacağı) kitaplığa bağlıdır.FileNotFoundError
Bu hata oluşursa, aşağıdaki örnekte olduğu gibi kaydetme fonksiyonunu çalıştırmadan önce os.madeirs() ile yeni bir dizin oluşturabilirsiniz.
open() ile var olmayan bir dizini belirtirken hata(FileNotFoundError)
Yerleşik open() işleviyle yeni bir dosya oluştururken, hedef olarak ilk argüman olarak yeni bir dizin (mevcut olmayan bir dizin) içeren bir yol belirtilirse bir hata oluşur.(FileNotFoundError
)
open('not_exist_dir/new_file.txt', 'w')
# FileNotFoundError
open() öğesinin ilk argümanı, geçerli dizine göre mutlak bir yol veya bir yol olabilir.
Mevcut bir dizinde yeni bir dosya oluşturmak veya mevcut bir dosyanın üzerine yazmak veya eklemek gibi open()’in temel kullanımı için aşağıdaki makaleye bakın.
Bir dizin oluşturun(os.makedirs())
Var olmayan bir dizinde yeni bir dosya oluştururken, dizini open()’den önce oluşturmak gerekir.
Python 3.2 veya sonraki bir sürümünü kullanıyorsanız, os.makedirs()’i allow_ok=True bağımsız değişkeniyle birlikte kullanmak uygundur. Hedef dizin zaten mevcut olsa bile, hata oluşmaz ve dizin bir kerede oluşturulabilir.
import os
os.makedirs(new_dir_path, exist_ok=True)
Python’un daha eski bir sürümüne sahipseniz ve os.makedirs() dosyasında mevcut_ok bağımsız değişkenine sahip değilseniz, var olan bir dizinin yolunu belirtirseniz bir hata alırsınız, bu nedenle kontrol etmek için os.path.exists() öğesini kullanın. önce dizinin varlığı.
if not os.path.exists(new_dir_path):
os.makedirs(new_dir_path)
Ayrıntılar için aşağıdaki makaleye bakın.
Hedefli yeni bir dosya oluşturmak için örnek kod
Aşağıda, hedef dizini belirterek yeni bir dosya oluşturan ve kaydeden bir işlevin kod örneği verilmiştir.
İlk argüman dir_path, hedef dizinin yoludur, ikinci argüman dosya adı, oluşturulacak yeni dosyanın adıdır ve üçüncü argüman file_content, her biri bir dize olarak belirtilen yazılacak içeriktir.
Belirtilen dizin mevcut değilse, yeni bir tane oluşturun.
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ğıdaki gibi kullanın.
save_file_at_dir('new_dir/sub_dir', 'new_file.txt', 'new text')
Bu durumda, “yeni metin” içeriğine sahip yeni_dosya.txt dosyası yeni_dir\alt_dir içinde oluşturulacaktır. Başka bir deyişle, aşağıdaki dosya yeni oluşturulacaktır.new_dir/sub_dir/new_file.txt
os.path.join() ile dizin ve dosya adlarını birleştirme.
Ayrıca, open() modu bir argüman olarak belirtilir. Metin dosyaları için varsayılan ‘w’ uygundur, ancak bir ikili dosya oluşturmak istiyorsanız, mode=’wb’ olarak ayarlayın.