Cennet Teması Lisans doğrulanmadı, Lisansı doğrulamak için tema seçenekleri sayfasına gidin, Her alan adı için tek bir lisansa ihtiyacınız var.

Python kullanarak metin dosyalarıyla çalışmanın en kolay yolları, adım adım

Python kullanarak bir metin dosyasıyla çalışmanın 7 kullanışlı yolu

İster yeni başlayan ister profesyonel olsun, metin dosyalarıyla çalışmak Python kullanıcıları için en temel görevlerden biridir. Dildeki doğru araçlar kullanıldığında, verileri okumak, düzenlemek, işlemek ve kaydetmek sadece birkaç satırda gerçekleştirilebilir. Python'ın gücü, büyük veya küçük her türlü yazılım projesi için metne erişim, düzenleme ve uygun bir biçime dönüştürme için doğrudan işlevler sunan dosya işleme kolaylığında açıkça ortaya çıkar. Temelleri anlamak, geliştiricilerin özellikle çeşitli kaynaklardan toplanan kayıtlar, ayarlar veya verilerle çalışırken görevleri hızlı ve verimli bir şekilde tamamlamalarını sağlar.

Mavi desenli bir arka plan üzerinde yüzen kod pencereleri ve Python logosu bulunan Python kodunu görüntüleyen bir dizüstü bilgisayarın çizimi. Python kullanarak metin dosyalarıyla çalışmanın en kolay yolları, adım adım.

Her gün çok sayıda dosyayla mı çalışıyorsunuz? Büyük ve küçük? Karmaşık ve düzenli? Göreviniz ne olursa olsun, Python dosya yönetimini inanılmaz derecede kolaylaştırır. Biraz kodlamayla saatlerce işten tasarruf edebilir ve rahatlayabilirsiniz. Python'ın dosya yönetimi konusundaki büyüsünü keşfedelim.

İçindekiler

Bir metin dosyasını okuma

Kayıtlar, yapılandırma dosyaları, veri kümeleri veya herhangi bir metin biçimiyle çalışırken, ihtiyacınız olan ilk beceri bir dosyayı verimli bir şekilde okuyabilme becerisidir. Python, yerleşik `open()` fonksiyonu ve bazı faydalı okuma teknikleriyle bu süreci inanılmaz derecede kolaylaştırır. `open()` standart ağ geçidi olsa da, dosyaları işlemenin Pythonik yolu bir bağlam yöneticisi (`with` ifadesi) kullanmaktır.

with open("server.log", "r") as f:
    content = f.read()
    print(content)
Python kodunu kullanarak dosya içeriğini okumaya bir örnek: Python kullanarak metin dosyalarıyla çalışmanın en kolay yolu, adım adım

Bu, "bana her şeyi ver" yaklaşımıdır. Dosya küçük veya orta boyuttaysa idealdir. Python, dosyanın tamamını tek bir dize olarak belleğe yükler. `with` kullanmak, Python'ın dosyayı sizin için kapatmasını sağlar. Dosya kaynaklarının kurulumunu ve silinmesini Python gerçekleştirir.

Eğer her satırı ayrı ayrı okumak isterseniz şu yöntemi kullanın:

with open("users.txt", "r") as f:
    for line in f:
        print(line.strip())

Python'da readline() ve readlines() fonksiyonlarından da faydalanabilirsiniz.

# Read the first line
with open("data.txt", "r") as f:
    first_line = f.readline()

# Read all lines into a list
with open("data.txt", "r") as f:
    lines = f.readlines()
Python'da readline ve readline fonksiyonlarını kullanarak bir dosyanın içeriğini okuma: Python'da metin dosyalarıyla çalışmanın en kolay yolu, adım adım

`readline()` fonksiyonu, yalnızca belirli sayıda satıra ihtiyacınız olduğunda kullanışlıdır. Örneğin, lines[5] gibi, belirli satırlara dizine göre erişmeniz gerektiğinde kullanışlıdır. `readlines()` fonksiyonu, her satırı bir liste olarak sunar; bu da dizinleme, bölümlendirme ve hızlı dönüşümler için kullanışlıdır.

Metin dosyalarına yazma

Sonuç olarak, her Python geliştiricisinin bir dosyaya bir şeyi yeniden girmesi gerekir. Belki raporlar oluşturuyor, temiz veriler kaydediyor veya betiğinizden günlükler yazıyorsunuz. İyi haber şu ki, Python'da dosyalara yazmak, onları okumak kadar kolaydır. Bir dosyaya yeni içerik yazmak için:

Ayrıca okuyun:  İki AirPod'u bir iPhone, iPad veya MacBook'a bağlama
report = "Daily summary: All systems operational.\n"

with open("summary.txt", "w") as f:
    f.write(report)
Python'un write fonksiyonunu kullanarak bir dosyaya yazma: Python kullanarak metin dosyalarıyla çalışmanın en kolay yolu, adım adım
"w" ile bir dosya açmak, mevcut değilse dosyayı oluşturur, mevcutsa tamamen değiştirir. Bu, işlenmiş bir veri kümesini dışa aktarmak veya günlük bir raporu yeniden oluşturmak gibi yeni çıktılar oluştururken idealdir. Bir dosyaya veri eklemek istiyorsanız, "a" seçeneğini kullanın.
log_entry = "User logged in at 14:32\n"

with open("activity.log", "a") as f:
    f.write(log_entry)
Python kullanarak metin dosyalarıyla çalışmanın en kolay yolları, adım adım.
Bir dosyanın mevcut içeriğini korumak ve sonuna yeni satırlar eklemek istediğinizde bu işlevi kullanın. `writelines()` işlevi, özellikle birden fazla satır yazarken kullanışlıdır.
lines = [
    "apple\n",
    "banana\n",
    "cherry\n"
]

with open("fruits.txt", "w") as f:
    f.writelines(lines)
Python'un writelines fonksiyonunu kullanarak bir dosyaya birden fazla dize yazma: Python'da metin dosyalarıyla çalışmanın en kolay yolu, adım adım.
Bu, dize türünde bir içerik içeren bir Python listeniz varsa kullanışlıdır. Ancak, yeni satır karakterleri eklemediğini, bu nedenle bunları dizeye eklemeniz gerektiğini unutmayın.

Metin dosyaları içinde arama

Dosyaları okuyup yazma konusunda ustalaştıktan sonraki adım, aradığınızı bulmaktır. Belki de günlüklerde hata mesajları arıyor veya belirli bir desene uyan satırları çıkarıyorsunuz. Python, metin dosyalarında arama yapmak için çeşitli yollar sunar. Döngüler kullanan basit bir örneğe bakalım.
target = "ERROR"

with open("server.log", "r") as f:
    for line in f:
        if target in line:
            print("Found error:", line.strip())
Python'da for döngüsü kullanarak bir dosyada metin arama: Python kullanarak metin dosyalarıyla çalışmanın en kolay yolu, adım adım
Yalnızca temel bir alt dize arıyorsanız, bu yöntem oldukça etkilidir. Daha gelişmiş filtreleme için, bunu otomatikleştirmek adına düzenli ifade kalıplarını kullanabilirsiniz. Python'da `re` modülünü kullanabilirsiniz.
import re

pattern = re.compile(r"User\s+\d+\s+logged\s+in")

with open("activity.log", "r") as f:
    for line in f:
        if pattern.search(line):
            print("Match:", line.strip())

Python'da regex kalıplarını kullanarak bir dosyada metin arama: Python'da metin dosyalarıyla çalışmanın en kolay yolu, adım adım

Tanımlayıcıları, zaman damgalarını, biçimleri veya yapı içeren herhangi bir şeyi keşfetmeniz gereken senaryoları düşünün. Bu örnekte, bir kullanıcının sayısal bir kimlikle oturum açtığı satırları buluyoruz.

Dosyalardaki metni değiştirme

Arama harika. Ancak er ya da geç dosyanın içeriğini değiştirmeniz gerekecek. Temel kalıpları anladığınızda Python, metin değiştirmeyi şaşırtıcı derecede kolay hale getirir. Temel arama ve değiştirme görevleri için Python'ın metin işlemlerini kullanabilirsiniz.

old = "ERROR"
new = "INFO"

with open("server.log", "r") as f:
    content = f.read()

updated = content.replace(old, new)

with open("server.log", "w") as f:
    f.write(updated)
Python'un Dize İşlemlerini Kullanarak Bir Dosyada Basit Metin Değiştirme: Python Kullanarak Metin Dosyalarıyla Çalışmanın En Kolay Yolları, Adım Adım
Bu kalıp, belirli bir kelime veya ifadenin tüm tekrarlarını değiştirmek istediğinizde idealdir. Eğer bu sizin durumunuz için yeterli değilse, gelişmiş değiştirme görevleri için yine bir düzenli ifadeniz var. İşte basit bir örnek:
import re

pattern = r"\bUser\s+(\d+)\b"
replacement = r"Account \1"

with open("activity.log", "r") as f:
    content = f.read()

updated = re.sub(pattern, replacement, content)

with open("activity.log", "w") as f:
    f.write(updated)
Python regex kullanarak bir dosyadaki metni değiştirme: Python kullanarak metin dosyalarıyla çalışmanın en kolay yolu, adım adım
Burada düzenli ifade size yalnızca bir karakter dizisini değil, yapılandırılmış metni değiştirme olanağı verir.
Kelimeleri, satırları ve harfleri sayın
Diyelim ki bir metin dosyanız var ve satır sayısı, kelime sayısı ve kelime tekrar sayısı gibi bazı temel ölçütlere ihtiyacınız var. Bu bilgiler metin analizi, raporlama ve veri işleme için faydalı olabilir. Python bunu kolaylaştırır. Sayma için döngüler kullanabilirsiniz.

line_count = 0
char_count = 0

ile açık(“notlar.txt”, "R") as f:
için hat in f:
satır_sayısı += 1
karakter_sayısı += len(astar)

Ayrıca okuyun:  Instagram Makaraları için En İyi 15 İpucu ve Püf Noktası

baskı(“Çizgiler:”(satır_sayısı)
baskı(“Karakterler:”, karakter_sayısı)

Bu basit döngü, büyük dosyalarda bile işe yarar. Her seferinde bir satır okuyun, sayın ve uzunluğu boyunca toplam karakter sayısını takip edin. Kelime saymak için:

word_count = 0

with open("notes.txt", "r") as f:
    for line in f:
        words = line.split()
        word_count += len(words)

print("Words:", word_count)

Her bir satırı .split() kullanarak bölmek, basit kelime tabanlı ölçümler yaparken ideal olan bir kelime listesi sağlar.

Daha gelişmiş kelime analizi için modülü kullanabilirsiniz collections , bunun gibi:

from collections import Counter

counter = Counter()

with open("notes.txt", "r") as f:
    for line in f:
        counter.update(line.split())

print(counter.most_common(5))

Python kullanarak bir dosyadaki satırları, karakterleri ve kelimeleri sayma: Python kullanarak metin dosyalarıyla çalışmanın en kolay yolu, adım adım

En yaygın kelimeleri bulmanız gerekiyorsa, "Sayaç" aracı çok kullanışlıdır. Öğeleri sizin için sayar ve hatta .most_common() fonksiyonunu kullanarak en yaygın kelimeleri (N) bile söyleyebilir.

Dosyaları böl ve birleştir

Metin dosyaları çok büyük olabilir. Milyonlarca satır içeren veri kümeleriyle veya tek seferde işlenmesi zor olan büyük boyutlu dışa aktarımlarla çalıştığınızı düşünün. Bazen bir dosyayı daha küçük parçalara bölmeniz, bazen de birden fazla dosyayı tek, anlaşılır ve birleşik bir çıktıda birleştirmeniz gerekir. Python her iki görevi de kolaylıkla halleder.

Bir dosyayı bölmenin bir yolu, belirli sayıda satırı alıp bunları yeni dosyalara yazmaktır. İşte nasıl yapılacağı:

chunk_size = 10
file_number = 1
current_lines = []

with open("bigdata.txt", "r") as f:
    for i, line in enumerate(f, start=1):
        current_lines.append(line)

        if i % chunk_size == 0:
            output_name = f"chunk_{file_number}.txt"
            with open(output_name, "w") as out:
                out.writelines(current_lines)
            current_lines = []
            file_number += 1

# write any remaining lines
if current_lines:
    output_name = f"chunk_{file_number}.txt"
    with open(output_name, "w") as out:
        out.writelines(current_lines)

Birden fazla dosyayı tek bir modülde birleştirmek için Python'un glob modülü kullanışlıdır.

import glob

with open("merged_output.txt", "w") as outfile:
    for filename in glob.glob("logs/log*"):
        with open(filename, "r") as infile:
            outfile.write(infile.read())

Burada glob, `log` ile başlayan tüm dosyaları bir `logs/` klasöründe toplar ve içeriklerini tek bir dosyaya ekleyebilirsiniz. Bu, günlük kayıt dosyalarıyla, kısmi verileri dışa aktarırken veya ilgili dosyalarla dolu herhangi bir klasörle çalışırken idealdir.

Ayrıca okuyun:  Ekran yansıtmayı düzeltmenin 15 yolu veya Samsung TV'de çalışmayan Cast

Araçlarınız entegre edildikten sonra, her türlü rutin görevi otomatikleştirebilirsiniz. Örneğin, haftalık kayıtları aylık kayıtlara birleştirmek, büyük girdi dosyalarını bir betiğe girmeden önce bölmek ve daha fazlası.

Hata yönetimi ve güvenli dosya işlemleri
Pratikte dosyalarla çalışırken, işler her zaman planlandığı gibi gitmez. Dosya işlemleri çeşitli nedenlerle başarısız olabilir. Dosya mevcut olmayabilir veya programınızın dosyayı okuma veya yazma izni olmayabilir. Betik işlem sırasında çökerse, veri bozulması veya dosyaların tamamen yazılmaması riskiyle karşı karşıya kalırsınız.

Daha güvenli dosya girişi/çıkışı için Python'daki hataları işlemek amacıyla try/except bloğunun kullanılması önerilir.

filename = "config.txt"

try:
    with open(filename, "r") as f:
        data = f.read()
        print("File loaded successfully.")
except FileNotFoundError:
    print("File not found:", filename)
except PermissionError:
    print("You don’t have permission to read this file.")
except Exception as e:
    print("Unexpected error:", e)

Python kullanarak birden fazla dosyayı tek bir dosyada birleştirme: Python kullanarak metin dosyalarıyla çalışmanın en kolay yolu, adım adım

Bu, eksik dosyalar veya izin sorunları gibi olası sorunları tespit etmenizi sağlar. Karşılaşabileceğiniz bir diğer yaygın sorun da kodlamadır. Bu nedenle, bir dosyanın hangi kodlama türünü kullandığından emin olmadığınızda bunu mutlaka ele alın.

try:
    with open("encoding.txt", "r", encoding="utf-8") as f:
        content = f.read()
        print("File loaded successfully.")
except UnicodeDecodeError:
    print("File encoding is not UTF-8. Trying fallback…")
    with open("encoding.txt", "r", encoding="latin-1") as f:
        content = f.read()
        print("Fallback load succeeded:")
        print(content)
Kodlama işlemi, karışık ortamlardan dosya okunurken oluşan hataların önüne geçer.
Bu, Python kullanarak gerçekleştirebileceğiniz ve hatta otomatikleştirebileceğiniz en yaygın dosya görevlerinden bazılarını kapsar. Python ve çeşitli özellikleri hakkında daha fazla bilgi edinmek istiyorsanız, os modülünü incelemeyi veya open() fonksiyonunu keşfetmeyi deneyin.
Python kullanarak bir dosyayı okurken Unicode kod çözme hatasını yakalama: Python kullanarak metin dosyalarıyla çalışmanın en kolay yolları, adım adım

Metin dosyası yönetiminde ustalaşmak, Python geliştiricilerine projelerinde veri yönetimi ve organizasyonu üzerinde daha fazla kontrol sağlar. Dilin temel araçları, harici kütüphanelere ihtiyaç duymadan çoğu işlem için yeterlidir ve pratikle bu görevler daha hızlı ve kolay hale gelir. Bu teknikleri anlamak, programlama becerilerini geliştirmek ve daha profesyonel projeler oluşturma becerilerini geliştirmek isteyen herkes için önemli bir adımdır.

Üst düğmeye git