Python toplama sonucunu dosyaya yazdırma

Arkadaşlar ben bir toplama işlemi sonucunu dosyanın içine yazdırmak istiyorum fakat bana şöyle bir hata veriyor:

TypeError: write() argument must be str, not int

Yardım ederseniz sevinirim, şimdiden teşekkürler.

toplam = 3+4
burada toplam değişkeni int formatında, bunu dosyaya yazdırırken str ye çevirmen gerekiyor.
Yani dosya.write(str(toplam)) şeklinde.

tamam onu anladım da sorun şu ben dosyanın içinde yazan sayıyı okutup onunla 1 sayısını toplayıp tekrar yazmak istiyorum, biliyorum karmaşık.

Yoo değil.

dosya = open("dosyaadi","r")
sayi = int(dosya.read()) +1
dosya.close()
dosya =open("dosyaadi","w")
dosya.write(str(sayi))
dosya.close()

Daha sade ve temiz kod yazılabilir, with le açmak gibi dosyayı.

teşekküreler şimdi kendi kodlarıma uyarlayacam.

with open("C:\\Users\\Arif\\Desktop\\dnm.txt","r") as file:
    oku = file.read()
    numb = int(oku) +1
    print(numb)

sanırım geç kaldım

file.write(“toplam”)
Çift Tırnak Kullanmalısın

senin dediğini yaparsam dosyanın içine ‘toplam’ yazar.

bende acemiyim :smiley:

file.write(f"{toplam}")
şeklinde uygulanabilir.
veya,
file.write("{}".format(toplam))

aynen aksi taktirde ;

kod nerede neden hata veren kodu vermediniz ?

verdim ya. (20 karakter kuralı)

hani şimdi siz bu hatayı aldınız ya işte bu hatayı almanız için sizin bir program yazmış olmanız lazım. işte ben de o programın kodlarını okumak istiyorum.

TypeError: write() argument must be str, not int

Burada write fonksiyonu “Ben integer değer almıyorum, string istiyorum” diyor.

Öyleyse yazdırmaya çalıştığınız ifadeyi str() fonksiyonuna sokup bir string veri tipine çevirin.

sayisal_deger = 456 
yazisal_deger = str(integer_ifadesi)

print(type(sayisal_deger)) # <class 'int'>
print(type(yazisal_deger)) # <class 'str'>

Python dinamik tür sistemine sahip bir dildir. Yani bunun imkanlarından sonuna kadar faydalanmalısınız.

Programınızın kodunu göndermediğinize göre, yapacağınız şey bu matematiksel işlemi gerçekleştirip, dosyaya yazdıracağınız sonucu string veri tipine çevirmek olacak.