Depolamak veya daha sonra kullanmak üzere bir dosyayı okumak ve ona yazmak, programlamada yaygın görevlerdir. Python'un dosyalarla çalışmanın çeşitli yolları vardır, ancak biz özellikle metin dosyalarına yazmaya odaklanacağız. Metin dosyaları düz metin verilerini depolamak için kullanılır ve Python, programcıların metin dosyalarındaki verileri okumasını ve yazmasını kolaylaştırır.
Bu eğitimde kullanıcıların Python kullanarak bir metin dosyasına nasıl yazı yazabileceklerini açıklayacağız.
Python'un dosyaları oluşturmak, yazmak veya okumak için yerleşik bir işlevi vardır. İki tür dosyayı, normal metin dosyalarını ve ikili dosyaları işleyebilir. Bu ikisi arasındaki seçim, üzerinde çalıştığınız verilere ve uygulamanın gereksinimlerine bağlıdır.
Python'da Dosya Açmak için Sözdizimi:
# Method 1: file = open (path_to_the_file, mode) # Manually required to close the file `file.close()` to ensure that # changes made are saved, and system resources are freed up. # Method 2: with open (path_to_the_file, mode) as file: # It automatically closes the file properly # after the block code is executed.
open() işlevi çeşitli parametreleri kabul edebilir. Ancak kullanıcının ilk ikisine odaklanması gerekiyor:
Bir metin dosyasına yazmak için kullanıcı aşağıdaki modu kullanacaktır:
Mod | Tanım |
---|---|
'İçinde' | Metin yazmak amacıyla metin dosyasını açmak için kullanılır. Bu modda dosyanın kesilmesi, dosyanın mevcut içeriğinin silindiği anlamına gelir. |
'A' | Metin eklemek amacıyla metin dosyasını açmak için kullanılır. İşaretçi dosyanın sonuna yerleştirilir ve yeni veriler mevcut içeriğe eklenir. |
Örnek: Bir kullanıcının Python kullanarak bir metin dosyasına nasıl yazabileceğini göstermek için
file.write(' ') file.writelines(' ')
Aşağıdaki satıra metin eklemek isteyip istemediği tamamen kullanıcıya bağlıdır.
stlc
Örnek 2: Metin dosyasındaki metinlerin listesini yazmak için write() fonksiyonunun nasıl kullanılacağını göstermek
# Method 1 - Simple Approach file = open ('writeme.txt', 'w') file.write('writeme') file.close() # Method 2 - Using the 'with' keyword to open a file with open ('writeme.txt', 'w') as file: file.write('writeme')
Çıktı:
Her iki yöntem de aynı sonucu verir.
Python'da Bir Metin Dosyasına Yazma Adımları:
kullanarak metin dosyasına yazmak için Python , kullanıcının aşağıdaki adımları izlemesi gerekir:
Adım 1 - Dosyayı Açın - Bir metin dosyasına yazmaya başlamak için önce onu yerleşik open() işlevini kullanarak açmamız gerekir; bu işlev iki parametre alır: dosya adı (dosya geçerli dizinde değilse yol dahil) ve içindeki mod dosyayı açmak istiyoruz. Bir metin dosyasına yazma durumunda, yazma modunu temsil eden 'w' modunu veya ekleme modunu temsil eden 'a' modunu kullanabiliriz. Dosya mevcut değilse Python verilen adda yeni bir dosya oluşturacaktır.
# Opening a file 'example.txt' file = open('example.txt', 'w')
open() işlevi bir dosya nesnesi döndürecektir ve bu dosya nesnesinin, içine metin yazmak için iki yararlı işlevi olacaktır:
- yazmak()
- yazma satırları()
Write() işlevi, dizeyi metin dosyasına yazmak için kullanılır ve writelines() işlevi, dizenin listesini dosyaya bir kerede yazmak için kullanılır.
Writelines() işlevi yinelenebilir nesneyi de kabul edebilir. Kullanıcı ayrıca dize dizisini, dize kümesini vb. de iletebilir.
Bir sonraki satıra yazmak için kullanıcının yeni satır karakterini manuel olarak eklemesi gerekir.
Adım 2 - Dosyaya yazın: Dosya yazma modunda açılır açılmaz, içine yazmak için write() fonksiyonunu veya writelines() fonksiyonunu kullanabiliriz. Write() yöntemi, dosyaya yazmak istediğimiz parametre olarak bir dize alır. Write() işlevini birden çok kez çağırarak veya satırları ayırmak için dizeler arasında yeni satır karakterleri ( ) kullanarak birden çok satır yazabiliriz.
# Using the 'write' function file.write('This is the first line. ') file.write('This is the second line. ') # Using the 'writelines' function file.writelines('This is the first line. This is the second line. ')
Adım 3 – Dosyayı kapatın: Kullanıcı close() fonksiyonunu kullanarak metin dosyasını kapatabilir. İstenilen içeriği dosyaya yazdıktan sonra, onu düzgün bir şekilde kapatmak önemlidir. Dosyanın kapatılması tüm değişikliklerin kaydedilmesini ve sistem kaynaklarının serbest bırakılmasını sağlar.
# Closing the file file.close()
Örnek 2: Kullanıcıların bir txt dosyasına nasıl yeni satır karakteri ekleyebileceğini göstermek için
file.write(' ') file.writelines(' ')
Aşağıdaki satıra yazı ekleyip eklememek tamamen kullanıcılara kalmıştır.
Örnek 3: Bir metin dosyasındaki metinlerin veya dizelerin listesini yazmak için write() işlevinin nasıl kullanılacağını göstermek
# Creating a list of strings lines_1 = [ 'This is an example', 'to show how a user can write in a text file using Python'] with open('text.txt', 'w') as file: # Iterating over each element of the list for line_1 in lines_1: file.write(line_1) # Adding the line to the text.txt file.write(' ') # Adding a new line character
Çıktı:
Açıklama:
Yukarıdaki örnekte ilk olaraklines_1 isimli stringlerin bir listesini oluşturduk ve daha sonra bu dosyayı 'with' ifadesi ile open() fonksiyonunu kullanarak açtık. Daha sonra listenin öğeleri üzerinde yineleme yapmak için bir for döngüsü kullandık, ardından satırı yazıp dosyaya yeni bir satır karakteri ekledik. For döngüsünün sonuna yeni bir satır karakteri eklenir ve işaretçi bir sonraki satıra konumlanır.
Eğer klasörde text.txt dosyası yoksa open() fonksiyonu yeni dosyayı oluşturacak ve işlemler buna göre gerçekleştirilir.
Örnek 4: Kullanıcıların writelines() işlevini kullanarak text.txt dosyasındaki metin dizelerinin listesini nasıl yazabileceklerini göstermek için:
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can write in a text file using writelines() function in Python.'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines() function file.writelines(lines_1)
Çıktı:
Açıklama:
Yukarıdaki örnekte, writelines() işlevi her liste öğesini dosyadaki tek bir satıra yazar.
Kullanıcı her liste elemanını bir satır olarak ele alırsa, onu yeni bir satır karakteriyle bağlaması gerekir.
Örnek 4: Kullanıcının yeni satır karakterini text.txt dosyasındaki satırın her bir öğesine nasıl bağlayabileceğini göstermek için
Her liste elemanından sonra nasıl yeni bir satır karakteri ekleyebileceğimizi 3 numaralı örnekte görmüştük. Writelines() fonksiyonunu kullanırken string içerisine yeni bir satır karakteri eklemeliyiz.
varlık ilişkisel
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can link a new line character ', 'with each element of the list. '] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines function file.writelines(lines_1)
Çıktı:
Açıklama:
Yukarıdaki örnekte writelines() işlevi liste öğesini text.txt dosyasına yazar; burada her liste öğesi yeni bir satır karakteriyle biter.
Çözüm
Bu dersimizde Python'u ve onun farklı fonksiyonlarını kullanarak bir kullanıcının bir metin dosyasına nasıl metin yazabileceğini anlattık. İlk önce normal ve ikili metin dosyalarını öğrendik, ardından bir dosyanın nasıl açılacağının sözdizimini öğrendik. Ayrıca 'w' (yazma modu) ve 'a' (ekleme modu) arasındaki farka da baktık. Daha sonra Python'da bir metin dosyasına yazma adımlarını öğrendik ve bir metin dosyasına yazmanın farklı yöntemlerini anlamak için çeşitli örnekler uyguladık.