Python'da yazı nasıl metin dosyasının sonuna yazılır?

qualfy

Hectopat
Katılım
3 Aralık 2020
Mesajlar
525
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Merhaba, Python dilinde daha önceden içinde bazı metinler olan dosyanın son satırına kullanıcıdan alınan bilgileri yazdırıyorum sonrasında ise başka bir fonksiyonun işlevini kullanarak satır okuma işlemi yapıp yeni bilgiler üretmek istiyorum. Problemim ikinci olarak çağırdığım fonksiyonun ilk satırı okuyup işlem yapması fakat ben bu fonksiyonu bilgi aldığım fonksiyonun içinde çağıracağım. Bu sebeple bilgi üretme fonksiyonunu çağırmadan imleci son satırın başına almak istiyorum. Bunu nasıl yapabilirim?
 
Yazma modunu write ("w") değil append ("a") olarak seçerseniz yazma işlemi metin dosyasının sonuna yapılır. Dediğinizi tam anlayamadım ama bunu istiyorsunuz galiba.
 
Yazma modunu write ("W") değil append ("a") olarak seçerseniz yazma işlemi metin dosyasının sonuna yapılır. Dediğinizi tam anlayamadım ama bunu istiyorsunuz galiba.

Dosyayı "append" olarak açtım. Dosyanın sonuna bilgileri ekledim. Şimdi başka bir fonksiyon çalıştıracağım. Bu fonksiyon dosyadan bir satır okuyor ama haliyle ilk satırı okuyor. Ben "append" ettiğim bilgileri yani son eklediğim satırı okumak istiyorum. Onun için fonksiyonu çağırmadan önce imleci son satırın başına almak istiyorum.
 
Siz ne istiyosunuz?
"A+" ile açıp önce ekleme yaparsınız. Sonra F. Seek(0) ile başa alıp f.read() türevi fonksiyonlarla okursunuz.

Şimdi append ile dosyanın sonuna yeni bir satır ekliyorum ya işte imleci eklediğim satırın yani son eklenen satırın başına almak istiyorum. Dosyanın ilk satırına değil son satırın başına son satırdaki bilgileri okumak istiyorum.
 
İsterseniz sonradan dosyayı yine okuyup file[len(file) - 1] ile slicelayabilirsiniz de. Temelde istediğiniz şey o en son eklediğiniz satır üzerinde işlem yapmak sanırım. İmleci satırın başına getirmeyi soyut olarak düşünüyorsunuz.
 
İsterseniz sonradan dosyayı yine okuyup file[len(file) - 1] ile slicelayabilirsiniz de. Temelde istediğiniz şey o en son eklediğiniz satır üzerinde işlem yapmak sanırım. İmleci satırın başına getirmeyi soyut olarak düşünüyorsunuz.

Tam olarak anlamadım biraz daha açıklama şansınız var mıdır?

Başta dosyanın içeriği alıp f.seek()'e parametre olarak verebilirsiniz de bana çok saçma gelen bu olayı niye yapıyorsunuz? String olarak oluşturup işinizi Python'da görün. Dosyaya yazıp yazdığınız şey ile orada uğraşmanın gereği nedir?

Hemen şöyle açıklayayım. Kullanıcı adı ve şifre oluşturan iki fonksiyonum var. Bunların kendi işlevleri ilk satırı okuyum oradan aldığı bilgilerle bir kullanıcı adı ve şifre oluşturuyor ancak bir fonksiyon daha oluşturuyorum anlık kullanıcı girdisiyle kullanıcı adı ve şifre oluşturan. Birçok işlem yaptığımdan ötürü ilk iki fonksiyonumdaki işlemleri tekrar yazmak istemiyorum. Bu sebeple kullanıcı adı ve şifre oluşturma fonksiyonlarımı anlık üretme fonksiyonumun içinde tekrar çağıracağım ancak bunların ilk satırı değil kullanıcıdan gelen bilgileri dosyadan okuması adına imleci son satıra almak istiyorum.(anlık üretme fonksiyonumda alınan bilgileri son satıra ekliyorum sonra okumak istiyorum)

İsterseniz sonradan dosyayı yine okuyup file[len(file) - 1] ile slicelayabilirsiniz de. Temelde istediğiniz şey o en son eklediğiniz satır üzerinde işlem yapmak sanırım. İmleci satırın başına getirmeyi soyut olarak düşünüyorsunuz.

Evet son satır üzerinde işlem yapmak istiyorum.
 
Son düzenleme:

Technopat Haberler

Yeni konular

Geri
Yukarı