Çözüldü Python kodunda "TypeError: write() argument must be str, not int" hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Linux Kaymak

Hectopat
Katılım
22 Haziran 2021
Mesajlar
6.467
Makaleler
11
Çözümler
29
Yer
Ankara
Python:
import time
import os
from colorama import Fore, Back, Style, init
init(autoreset=True)

print(Fore.CYAN + " BANKATM 1.0")
time.sleep(3)
hosgel = print(" Hoşgeldiniz...")
time.sleep(2)
os.system("cls")

print("[1]Para Yatır\n[2]Para Çek\n[3]Para sorgula")
time.sleep(2)
secenek = input("\nİşlem giriniz ")
if secenek == "1":
 try:
 file = open("bakiye.txt")
 except FileNotFoundError:
 hata = input("Dosya bulunamadı. Hata çözülsün mü? y or n ")
 if hata == "y":
 dosya = open("bakiye.txt", "w")
 dosya.close()
 time.sleep(2)
 print("Sorun çözüldü! Tekrar deneyin.")
 time.sleep(3)
 import main
 else:
 print("Sorun çözülemedi")
 kac_tl = int((input("Kaç TL yatırmak istiyorsunuz?")))
 ffile = open("bakiye.txt")
 ffile.write(kac_tl)

Aldığım hata:

Kod:
File "c:/Users/OzanPC/Desktop/piton 2/main.py", line 31, in <module>
 ffile.write(kac_tl)
TypeError: write() argument must be str, not int

@202 @Enes3078 @Uton
 
Çözüm
Hocam şu şekilde bir hata almaya başladım şimdi de.
Kod:
Traceback (most recent call last):
  File "c:/Users/OzanPC/Desktop/piton 2/main.py", line 31, in <module>
    ffile.write(kac_tl)
io.UnsupportedOperation: not writable

Python:
import time
import os
from colorama import Fore, Back, Style, init
init(autoreset=True)

print(Fore.CYAN + "                                 BANKATM 1.0")
time.sleep(3)
hosgel = print("                                Hoşgeldiniz...")
time.sleep(2)
os.system("cls")

print("[1]Para Yatır\n[2]Para Çek\n[3]Para sorgula")
time.sleep(2)
secenek = input("\nİşlem giriniz ")
if secenek == "1":
    try:
        file = open("bakiye.txt")
    except FileNotFoundError:
        hata = input("Dosya bulunamadı. Hata çözülsün mü? y or n ")
        if hata == "y":
            dosya = open("bakiye.txt", "w")
            dosya.close()
            time.sleep(2)
            print("Sorun çözüldü! Lütfen tekrar deneyin.")
            time.sleep(3)
            import main
        else:
            print("Sorun çözülemedi")
    kac_tl = input("Kaç TL yatırmak istiyorsunuz?")
    ffile = open("bakiye.txt")
    ffile.write(kac_tl)

Kodum da bu şekilde.
Python:
 kac_tl = input("Kaç TL yatırmak istiyorsunuz?")
 ffile = open("bakiye.txt", "w")
 ffile.write(kac_tl)

"w" şeklinde kullanırsanız her bir yazdırmada dosya içeriği silinip üstüne input'tan alınan değer yazılır.

Dosyayı dizin içerisinde oluşturup "a" argümanı ile kodu çalıştırırsanız her input'tan gelen değer dosya silinmeden dosyaya eklenir.
Evet hocam denedim.
Python:
import time
import os
from colorama import Fore, Back, Style, init
init(autoreset=True)

print(Fore.CYAN + " BANKATM 1.0")
time.sleep(3)
hosgel = print(" Hoşgeldiniz...")
time.sleep(2)
os.system("cls")

print("[1]Para Yatır\n[2]Para Çek\n[3]Para sorgula")
time.sleep(2)
secenek = input("\nİşlem giriniz ")
if secenek == "1":
 try:
 file = open("bakiye.txt")
 except FileNotFoundError:
 hata = input("Dosya bulunamadı. Hata çözülsün mü? y or n ")
 if hata == "y":
 dosya = open("bakiye.txt", "w")
 dosya.close()
 time.sleep(2)
 print("Sorun çözüldü! Lütfen tekrar deneyin.")
 time.sleep(3)
 import main
 else:
 print("Sorun çözülemedi")
 kac_tl = input("Kaç TL yatırmak istiyorsunuz?")
 ffile = open("bakiye.txt", "w")
 ffile.write(kac_tl)

20230201_19h49m32s_grim.png


Bende bir sorun gözükmüyor. Dosyayı oluşturdu ve "10" değerini girdiğimde TXT dosyasına yazdı.
 

Yeni konular

Geri
Yukarı