Modül io: Python’da Giriş ve Çıkış İşlemleri
Modül io, Python’da giriş ve çıkış (I/O) işlemleri için temel arayüzü sağlar. Dosyalar, ağ soketleri, bellek tamponları ve diğer kaynaklar gibi çeşitli kaynaklardan veri okumak ve yazmak için kullanılabilir. Modül io, Python 2.6’dan beri standart kütüphanenin bir parçasıdır.
Temel Sınıflar
Modül io, üç temel sınıf sağlar:
- io.IOBase: Bu, tüm diğer I/O sınıflarının temel sınıfıdır. Temel okuma, yazma ve konumlandırma yöntemlerini tanımlar.
- io.RawIOBase: Bu, ham I/O işlemleri için temel sınıftır. Verileri işleme veya yorumlama olmadan okur ve yazar.
- io.BufferedIOBase: Bu, arabelleğe alınmış I/O işlemleri için temel sınıftır. Verileri bir arabellek kullanarak okur ve yazar. Bu, küçük verilerle çalışırken performansı artırabilir.
Dosya Nesneleri
Modül io, dosya nesneleri oluşturmak için çeşitli işlevler sağlar. En yaygın işlevler şunlardır:
- open(path, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None): Bu işlev, belirtilen yoldaki bir dosyayı açar ve bir dosya nesnesi döndürür. Mod parametresi, dosyanın açılış modunu belirtir. Varsayılan olarak, dosya yalnızca okuma için açılır. Arabelleğe alma parametresi, dosyanın arabelleğe alınmasını belirtir. Varsayılan olarak, arabelleğe alma devre dışıdır. Kodlama parametresi, dosyanın kodlamasını belirtir. Varsayılan olarak, sistemin varsayılan kodlaması kullanılır. Hatalar parametresi, kodlama hatalarının nasıl işleneceğini belirtir. Varsayılan olarak, hatalar bir ValueError hatası olarak yükseltilir. Yeni satır parametresi, yeni satır karakterlerinin nasıl işleneceğini belirtir. Varsayılan olarak, yeni satır karakterleri sistemin varsayılan yeni satır karakterine dönüştürülür. Closefd parametresi, dosyanın açık tutulup tutulmayacağını belirtir. Varsayılan olarak, dosya kapatılır. Açıcı parametresi, dosyayı açmak için kullanılacak açıcıyı belirtir. Varsayılan olarak, varsayılan açıcı kullanılır.
- open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None): Bu işlev, belirtilen dosya nesnesini açar ve bir dosya nesnesi döndürür. Mod parametresi, dosyanın açılış modunu belirtir. Varsayılan olarak, dosya yalnızca okuma için açılır. Arabelleğe alma parametresi, dosyanın arabelleğe alınmasını belirtir. Varsayılan olarak, arabelleğe alma devre dışıdır. Kodlama parametresi, dosyanın kodlamasını belirtir. Varsayılan olarak, sistemin varsayılan kodlaması kullanılır. Hatalar parametresi, kodlama hatalarının nasıl işleneceğini belirtir. Varsayılan olarak, hatalar bir ValueError hatası olarak yükseltilir. Yeni satır parametresi, yeni satır karakterlerinin nasıl işleneceğini belirtir. Varsayılan olarak, yeni satır karakterleri sistemin varsayılan yeni satır karakterine dönüştürülür. Closefd parametresi, dosyanın açık tutulup tutulmayacağını belirtir. Varsayılan olarak, dosya kapatılır. Açıcı parametresi, dosyayı açmak için kullanılacak açıcıyı belirtir. Varsayılan olarak, varsayılan açıcı kullanılır.
Ağ Soket Nesneleri
Modül io, ağ soket nesneleri oluşturmak için çeşitli işlevler sağlar. En yaygın işlevler şunlardır:
- socket(family=socket.AF_INET, type=socket.SOCK_STREAM, proto=0, fileno=None): Bu işlev, belirtilen aile, tür ve protokolle bir ağ soketi oluşturur ve bir soket nesnesi döndürür. Aile parametresi, soketin adres ailesini belirtir. Varsayılan olarak, adres ailesi IPv4’tür. Tür parametresi, soketin türünü belirtir. Varsayılan olarak, soketin türü TCP’dir. Proto parametresi, soketin protokolünü belirtir. Varsayılan olarak, protokol 0’dır. Fileno parametresi, soketin dosya tanımlayıcısını belirtir. Varsayılan olarak, dosya tanımlayıcısı None’dur.
- socketpair(family=socket.AF_INET, type=socket.SOCK_STREAM, proto=0): Bu işlev, belirtilen aile, tür ve protokolle bir soket çifti oluşturur ve bir soket nesneleri çifti döndürür. Aile parametresi, soketlerin adres ailesini belirtir. Varsayılan olarak, adres ailesi IPv4’tür. Tür parametresi, soketlerin türünü belirtir. Varsayılan olarak, soketlerin türü TCP’dir. Proto parametresi, soketlerin protokolünü belirtir. Varsayılan olarak, protokol 0’dır.
Bellek Tamponu Nesneleri
Modül io, bellek tamponu nesneleri oluşturmak için çeşitli işlevler sağlar. En yaygın işlevler şunlardır:
- BytesIO([initial_bytes]): Bu işlev, belirtilen başlangıç baytlarıyla bir bellek tamponu nesnesi oluşturur ve bir bellek tamponu nesnesi döndürür. Başlangıç baytları parametresi, bellek tamponu nesnesinin başlangıç baytlarını belirtir. Varsayılan olarak, başlangıç baytları boştur.
- StringIO([initial_value]): Bu işlev, belirtilen başlangıç değeriyle bir dize tamponu nesnesi oluşturur ve bir dize tamponu nesnesi döndürür. Başlangıç değeri parametresi, dize tamponu nesnesinin başlangıç değerini belirtir. Varsayılan olarak, başlangıç değeri boş bir dizgedir.
Diğer Nesneler
Modül io, diğer nesneler oluşturmak için çeşitli işlevler sağlar. En yaygın işlevler şunlardır:
- TextIOWrapper(buffer, encoding=None, errors=None, newline=None, line_buffering=False, write_through=False): Bu işlev, belirtilen arabelleği bir metin I/O nesnesine sarar ve bir metin I/O nesnesi döndürür. Arabellek parametresi, sarılacak arabelleği belirtir. Kodlama parametresi, metin I/O nesnesinin kodlamasını belirtir. Varsayılan olarak, sistemin varsayılan kodlaması kullanılır. Hatalar parametresi, kodlama hatalarının nasıl işleneceğini belirtir. Varsayılan olarak, hatalar bir ValueError hatası olarak yükseltilir. Yeni satır parametresi, yeni satır karakterlerinin nasıl işleneceğini belirtir. Varsayılan olarak, yeni satır karakterleri sistemin varsayılan yeni satır karakterine dönüştürülür. Satır arabelleğe alma parametresi, metin I/O nesnesinin satır arabelleğe almasını belirtir. Varsayılan olarak, satır arabelleğe alma devre dışıdır. Yazma parametresi, metin I/O nesnesinin yazma işlemlerinin arabelleğe alınmasını belirtir. Varsayılan olarak, yazma işlemleri arabelleğe alınmaz.
- open_code(code): Bu işlev, belirtilen kodu bir dosya nesnesine sarar ve bir dosya nesnesi döndürür. Kod parametresi, sarılacak kodu belirtir.
Faydalı Siteler ve Dosyalar