Bloğa geri dön

txt Dosya Formatı: Python 3'te Düz Metin Dosyalarıyla Çalışmak

txt Dosya Formatı: Python 3'te Düz Metin Dosyalarıyla Çalışmak

Giriş

Programlama dillerinin birincil işlevlerinden biri verilerle çalışmanıza yardımcı olmaktır. Buna veri yazma, okuma, depolama ve aktarma da dahildir. Python en popüler programlama dillerinden biridir. Python kullanmayı planlıyorsanız, farklı dosya türlerini nasıl kullanacağınız konusunda temel bir fikriniz olmalıdır. Dosya türlerinin en basiti txt veya düz metin dosyası biçimidir. Erişim kontrolü için kullanıcıları kontrol eden bir programınız olduğunu varsayalım. Listenin kendisi bir metin dosyası olarak kaydedilecektir. Dolayısıyla, belirli şirketler için başka bir program kullansanız bile, değerleri bir metin belgesinden çıkaracaksınız. Bu yüzden metin dosyası biçimini anlamak önemlidir.

Bu eğitimde, Python'daki temel dosya biçimleri hakkında kısa bir arka plan bilgisiyle başlıyoruz. Ardından programda metin dosyalarını nasıl açacağımızı, okuyacağımızı ve yazacağımızı keşfedeceğiz.

Başlamadan Önce…

Eğitime başlamadan önce yerine getirmeniz gereken bazı ön koşullar vardır. İlk olarak, halihazırda Python 3'ü kurmuş olmalısınız. Buna ek olarak, sisteminizde yerel bir programlama ortamına ihtiyacınız vardır. Bu eğitim Ubuntu 16.04 ve üzeri için geçerlidir, Debian 8, CentOS 7, Mac OS X ve Windows 10.

Dosya Biçimleri

Python'da kullanabileceğiniz çeşitli dosya biçimleri vardır. Aşağıdaki tabloda tüm farklı biçimler ve bunları nerede kullanabileceğiniz listelenmiştir:

Dosya türü Açıklama
txt Düz metin dosyası, yalnızca karakterleri (veya dizeleri) temsil eden verileri depolar ve yapılandırılmış meta verileri hariç tutar.
CSV Virgülle ayrılmış değerler dosyası, depolanan verileri yapılandırmak için virgül (veya diğer sınırlayıcıları) kullanarak verilerin bir tablo biçiminde kaydedilmesini sağlar.
HTML Hiper Metin İşaretleme Dili dosyası, yapılandırılmış verileri depolar ve genellikle çoğu web sitesinde kullanılır.
JSON JavaScript Nesne Gösterimi, verileri depolamak ve aktarmak için en yaygın kullanılan biçimlerden biri olmasını sağlayan basit ve verimli bir biçimdir.

Bu eğitimde, txt dosya biçimini daha ayrıntılı olarak inceleyeceğiz.

Adım 1: Metin Dosyası Oluşturma

İlk olarak, Python'da yeni bir metin dosyası oluşturmalıyız. Anlaşılması amacıyla haftanın günleri için bir örnek ele alacağız. Bunun için metin düzenleyiciyi açacağız, yeni bir txt dosyası oluşturacağız ve adını days.txt koyacağız. Ardından, haftanın günlerini yeni dosyaya ayrı satırlar olarak girelim:

Artık içeriğe sahip olduğumuza göre dosyayı kaydedececeğiz. Dosyayı nereye kaydettiğinizi aklınızda tutmanız önemlidir. Diyelim ki kullanıcımız sammy olsun. Kullanıcı dosyayı şu yola kaydetti: /users/sammy/days.txt. Gelecekteki işlemlerde bu yolu kullanacağız.

Adım 2: Metin Dosyası Açma

Bir program yazmaya başlamadan önce, düzenleyicide bir dosya oluşturmalısınız. Adı files.py olan bir dosya oluşturacağız ve bunu /users/sammy dizinine, tıpkı days.txt dosyamız gibi kaydedececeğiz.

Herhangi bir dosyayı açmak için, disk dosyası ile değişken arasında bir bağlantı başlatmanız gerekir. Dosyayı 'açmak' bunu ifade eder. Dosyanın konumu, dosyanın yolu ile belirtilir. Dosyayı açmak için yola ihtiyacınız vardır. Örneğin, days.txt dosyasının yolu şöyledir: /users/sammy/days.txt. Ardından, bu verileri kaydetmek için bir dize (string) değişkeni oluşturacağız. Aşağıda göreceğiniz gibi, path değişkenini files.py betiğinde oluşturacağız ve değişkeni days.txt yoluna göre değiştireceğiz:

Bundan sonra, open() işlevini kullanarak days.txt dosyasını açacağız. Bu işlev için dosya yolunu belirtmeniz gerekir. Diğer parametrelerin yanı sıra en önemlisi mod (mode) parametresidir. Bu, dosyayı açtığınız modu belirtmek için ekleyebileceğiniz isteğe bağlı bir dizedir. Aşağıda bazı mod seçenekleri verilmiştir:

  • 'r’: okuma
  • 'w’: yazma
  • 'x’: yeni bir dosya oluşturma ve yazma
  • 'a’: bir dosyaya ekleme yapma
  • 'r+’: aynı dosyayı okuma ve yazma

Dosyadan yalnızca okuma yapmak için 'r’ modunu kullanmanız gerekir. open() işlevini çalıştırın ve days.txt dosyasını açın. Ardından, bunu days_file değişkenine atayın:

Adım 3: Metin Dosyası Okuma

Dosyayı açtıktan sonra, değişken aracılığıyla dosyadan okuma yapabiliriz. Dosya okuma ile ilişkili üç işlem vardır. Gelin bu üç işlemi de inceleyelim.

İlk işlem <file>.read() işlemidir. Bu işlem, dosyanın tüm içeriğini tek bir dize (string) halinde gösterir:

Çıktı:

Bir sonraki işlem <file>.readline() işlemidir. Bu, size dosyadaki bir sonraki satırı gösterecektir. Esasen dosyayı satır satır okuyacaktır:

Çıktı:

Fonksiyonu bir kez daha çağırmak, koddaki bir sonraki satırı okuyacaktır. Şöyle çağırabilirsiniz:

Çıktı:

Üçüncü ve son işlem ise <file>.readlines() işlemidir. Bu işlem size dosyadaki tüm satırların bir listesini gösterecektir. Her bir öge bir satırı temsil eder:

Çıktı:

Unutmayın, bir dosya bir kez okunduktan sonra onu tekrar okuyamazsınız. Bu durum, kullandığınız fonksiyondan bağımsız olarak geçerlidir. Dosyayı başka bir işlem kullanarak tekrar okumak için yeni bir dosya değişkeni açmanız gerekir.

Adım 4: Dosya Yazma

Sırada, yeni bir dosyanın nasıl yazılacağını öğreneceğiz. Örneğimizdeki bu dosya, önce başlığa (Days of the Week) ve ardından sırasıyla haftanın günlerine sahip olacak.

Başlamak için, title değişkenini oluşturmalıyız:

Ardından, haftanın günlerini bir dize (string) değişkeni biçiminde kaydetmemiz gerekiyor. Bu değişkene days adı verilecek. Yukarıdaki adımlarda kullandığımız kodu kullanmaya devam edeceğiz. Dosyayı okuma modunda açacağız ve çıktıyı yeni days değişkenimizde saklayacağız:

Bu means that we have made variables for the title as well as the individual days of the week. Now we can write the file itself. The first step is to specify the file location using the directory /users/sammy/ dizinini kullanarak dosya konumunu belirtmektir. Dosya yolunda yeni dosyayı da belirteceksiniz: /users/sammy/new_days.txt. Konum yolu new_path değişkeni altında kalacaktır. Ardından, open() fonksiyonu ile dosyayı ‘w’ modunda açın:

Artık dosya açık olduğuna göre, <file>.write() yazma fonksiyonunu kullanarak veri girebilirsiniz. Burada tek bir dize (string) parametresi girmeniz gerekir. Yeni bir satıra geçmek istiyorsanız, yeni satır karakterini girin. Dosyamız için önce başlığı, ardından haftanın günlerini gireceğiz. Bunun yanı sıra, betiğin ilerlemesini takip etmek için bazı yazdırma (print) ifadelerimiz de olacak:

Adım 5: Dosya Kapatma

Dosyayı kapattığınızda, disk dosyası ile dosya değişkeni arasındaki bağlantıyı sonlandırmış olursunuz. Dosya kapatıldığında, diğer programlar tarafından erişilebilir hale gelir. Bu aynı zamanda dosyanın ve verilerinin güvende kalmasına da yardımcı olur. Bu nedenle, dosyalarla işlem yapmayı bitirdiğinizde her zaman dosyaları kapatmayı unutmayın. Bunu yapmak için <file>.close() fonksiyonunu kullanabilirsiniz:

Böylece Python'da dosyaların işlenmesi konusu tamamlanmış oluyor.

Adım 6: Kod Kontrolü

Son olarak, kodu kontrol edeceğiz. Bunu yazdığınız kodu çalıştırmadan önce yapmalısınız. Kod şuna benzer görünmelidir:

Kodu kaydettikten sonra Python betiğini çalıştırmanız gerekir. Bunun için terminali açmalısınız:

Aşağıdaki çıktıyı gösterecektir:

Kodunuzu kontrol etmek için şu yeni dosyayı açacaksınız: new_days.txt. Her şey yolundaysa aşağıdakileri göreceksiniz:

Yukarıdakine benzer bir şey görüyorsanız adımları başarıyla tamamladınız demektir.

Sonuç

Bu eğitimle size Python 3'teki temel dosya biçimlerini öğretmeyi amaçladık. Bunlar arasında en kritik olanlardan biri metin dosyası biçimidir. Bunu daha ayrıntılı olarak inceledik. Artık veri dosyalarını açma, okuma, yazma ve kapatma işlemlerini ve adımlarını gayet iyi biliyorsunuz. Bu bilgileri kullanarak, kendi Python programlama deneyiminizde metin dosyası biçimini etkili bir şekilde kullanabileceksiniz.

Python'da düz metin dosyalarıyla nasıl çalışacağınızı öğrendiğinize göre, Python'ı kullanmaya başlamanızı sağlayacak blogumuzdaki diğer bazı eğitimler şunlardır:

Keyifli Kodlamalar!

author

Hark Labs

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.