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.
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
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.