Python'da Turşu Sözlüğü

Python Da Tursu Sozlugu



Pickle, bir nesneyi bellekten diske ikili biçim olarak kaydedilebilen bir bayt akışına dönüştürme işlemi olan Python varlık çerçevelerini önceden işlemek için kullanılabilir. Bu prosedür seri hale getirme olarak bilinir. Bunu başarmak için, turşu dump() yöntemini kullanın. Bu ikili kayıt, bir Python programına tekrar yüklendiğinde, seri durumu kaldırılabilir ve pickle load() yöntemi kullanılarak tekrar bir Python nesnesine dönüştürülebilir.

Bu makale, Python'un turşu modülünü kullanarak verileri, daha spesifik olarak bir sözlüğü nasıl depolayacağınızı öğretir. Başlamak için turşu modülünü tedarik etmeliyiz. Pickle dump() üç parametre kabul eder. İlk giriş, kaydedilecek verileri belirtir. İkinci parametre, bir dosya ikili yazma (wb) modunda açıldığında döndürülen dosya nesnesidir. Anahtar/değer bağımsız değişkeni üçüncü parametredir. Protokol bu parametre ile tanımlanır. Turşu iki türe ayrılır: EN YÜKSEK PROTOKOL ve ayrıca turşu VARSAYILAN PROTOKOLÜ. Verileri almak veya serisini kaldırmak için, bir dosyayı ikili okuma (rb) modunda açarak bir dosya nesnesinin elde edildiği pickle load() yöntemi kullanılır.







Örnek 1: Turşu Dökümü ve Yükleme İşlevini Kullanarak Bir Turşu Dosyasındaki Verilerin Serileştirilmesi ve Seriden Kaldırılması

Bu örnekte çok basit bir kod ile bir sözlük olarak veriyi seri hale getirmeyi ve serisini kaldırmayı öğreneceğiz.




Önceki çizimde sunulan kodda, yöntemlerinin kullanılabilmesi için Python kitaplığından ilk turşu modülü içe aktarılır. Daha sonra 2 anahtar ve değer içeren bir veri sözlüğü başlatılır ve “shape” adlı değişkende saklanır. Bir sonraki satırda ise pickle dump() yöntemi ile “info.p” isimli yeni bir dosyayı write-binary (wb) modunda açmak için kullanılır ve “shape” verileri bu dosyada saklanır. Bir sonraki satırda, rb kipinde verileri döktüğümüz aynı dosya için pickle load() yöntemi kullanılır. Bu, sözlük verilerimizi döndürür ve 'a' adlı değişkende saklanır. Son olarak, döndürülen bu nesne, aşağıdaki ekran görüntüsünde gösterildiği gibi print komutu kullanılarak çıkış terminalinde görüntülenir.



Verilerin ilk olarak “info.p” dosyasında dump yöntemi kullanılarak saklandığını görebiliriz. Daha sonra aynı dosyaya load() metodunu uyguladığımızda verilerimizi geri almış olduk.





Örnek 2: Python'da Verileri Seri Hale Getirmek İçin Ek Bir Protokolle Pickle Dump İşlevini Kullanma

Bu, en son protokol olan turşunun 'HIGHEST_PROTOCOL' adlı ek bir protokolünü kullandığımız benzer bir örnektir. Bu protokol, kullanabileceğimiz yeni dil özelliklerine izin verir ve optimizasyonlar içerir.




Önceki çizimde verilen kodda, ilk turşu modülü içe aktarılır. Ardından, bir anahtar ve değere sahip bir öğenin sözlüğü başlatılır ve 'a' değişkeninde saklanır. Bir sonraki satırda wb modunda tanıtıcı olarak “info.p” adlı yeni bir dosya açılır. Artık dosya “handle” adı verilen nesnenin içindedir. Ardından, 'HIGHEST_PROTOCOL' kullanılarak 'a' sözlüğüyle 'işlenmek' için dump() işlevi kullanılır. Bu, “a” içindeki sözlüğün bilgisayarın diskindeki “info.p” dosyasına kaydedilmesini sağlar. Dosyadan bilgileri çıkarmak için önce dosya 'rb' modunda açılır. Daha sonra bu dosya için pickle load() metodu kullanılır. Döndürülen veriler “b” özniteliğine kaydedilir. Son olarak, print komutunu kullanarak, aşağıdaki ekran görüntüsünde görüldüğü gibi, bu bilgi çıktı düğümünde görüntülenir:

Örnek 3: Bir Pickle Dosyasındaki Veri Listesinin Pickle Dump and Load Fonksiyonu Kullanılarak Seri Haline Getirilmesi ve Seriden Kaldırılması

Bu örnekte, önce turşu modülü içe aktarılır. Ardından, bazı veriler bir liste biçiminde bir sözlüğe eklenir ve “shape_colors” değişkeninde saklanır. Bir sonraki satırda, doğrudan bu verilerle pickle dump() yöntemi kullanılır. Parametresindeki dosyanın yerine “info.p” dosyası wb modunda açılır. Sonuç olarak, sözlük verileri artık bilgisayarın diskinde saklanan bu dosyaya dökülür. Ardından, dosyadan veri okumak için aynı dosya üzerinde pickle load() yöntemi kullanılır. Dönen veriler “a” değişkenine kaydedilir. Son olarak, print komutu kullanılarak, bu bilgiler aşağıdaki anlık görüntüde gösterildiği gibi ikincil terminallerde görüntülenir:



Örnek 4: Turşu Boşaltma ve Farklı Parametrelerle Yükleme Fonksiyonlarını Kullanarak Bir Turşu Dosyasında Bilgi Saklama

Verilen kodda ilk turşu modülü import edilir. Ardından, bir maaş sözlüğü başlatılır ve “maaşlar” değişkeninde saklanır. Bir sonraki satırda wb modunda tanıtıcı olarak yeni bir “salary.p” dosyası açılır. Artık dosya “handle” adı verilen nesnenin içindedir. Daha sonra, 'HIGHEST_PROTOCOL' kullanılarak 'maaşlar' sözlüğüyle 'idare etmek' için turşu dökümü() işlevi kullanılır. Bu, “maaşlar”daki sözlüğün bilgisayarın diskindeki “salary.p” dosyasına kaydedilmesini sağlar. Şimdi dosyadan veriyi geri almak için önce dosya “rb” modunda açılıyor. Daha sonra bu dosya için pickle load() metodu kullanılır. Geri alınan bilgi “a” değişkenine kaydedilir. Sonuç olarak, yazdır komutu kullanılarak bu veriler, aşağıdaki anlık görüntüde gösterildiği gibi çıktı ucunda görüntülenir:



Örnek 5: Pickle Dump and Load Fonksiyonu Kullanılarak Bir Pickle Dosyasında Birden Fazla Boyuttaki Verilerin Seri Hale Getirilmesi ve Seriden Kaldırılması

Python'da DataFrames (çok boyutlu tablolar) oluşturmak, Panda'nın Python modülünde bulunan yeni yöntemleri ve işlevleri test etmek için kullanışlıdır. Sıfırdan bir DataFrame oluşturmak için çeşitli yöntemler vardır, ancak en basitlerinden biri temel bir sözlük kullanmaktır.


Önceki resimde verilen kodda, ilk turşu ve Pandalar modülleri içe aktarılır. Ardından, pd.DataFrame() yöntemi kullanılarak çok boyutlu bir tablo oluşturulur. Stratejinin bir sonraki özelliği, dört listeden oluşan bir listedir. Her liste, tablonun bir satırına karşılık gelir. İkinci parametre, tablonun her bir sütununun başlığını tanımlayan “sütunlar” dır. Bu DataFrame 'ön'de saklanır. Ardından wb modunda “attendance.p” isimli yeni bir dosya açılır ve DataFrame ile bu dosya üzerinde pickle dump() yöntemi kullanılır. Artık belirtilen verilerimiz bilgisayarın hard diskindeki “attendance.p” dosyasında saklanmaktadır.


Dosyadan veri almak için dosyayı, dosyanın okunmasına izin veren rb modunda açıyoruz. Daha sonra “attendance.p” dosyasında pickle load() metodu kullanılır. Son olarak, dosyadaki veriler çıkış terminalinde görüntülenir. Gördüğümüz gibi, tüm DataFrame, “attendance.p” dosyasında saklanan çıkış terminalinde görüntülenir.

Çözüm

Turşu eğeleriyle çalışırken ekstra önlemler alın. Turşu modülü güvenlikten yoksundur. Yalnızca güvendiğiniz verileri ayıklayın. Ayıklama işlemi sırasında rasgele kod yürütebilecek kötü amaçlı turşu verileri oluşturmak mümkündür. Yine de Python'da sözlükleri, listeleri ve tabloları depolamak için etkili bir yöntemdir. Ön işleme gibi veriler üzerinde rutin işlemler yürütürken, asitleme özellikle veri analizinde faydalıdır. Umarım bu makale, Python'un turşu modülünün farklı yöntemlerini ve sözlüklerle nasıl kullanılacağını öğrenmenize yardımcı olmuştur.