Çö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.471
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.
write fonksiyonu içerisinde string değer kabul ediyor ama siz integer koymuşsunuz.

Input'u int olarak değil string olarak almanız gerek.

Python:
 kac_tl = input("Kaç TL yatırmak istiyorsunuz?")
 ffile = open("bakiye.txt")
 ffile.write(kac_tl)
 
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
Python:
 kac_tl = input("Kaç TL yatırmak istiyorsunuz?")
 ffile = open("bakiye.txt","w+")
 ffile.write(str(kac_tl))

Birde bunu dene.
 
write fonksiyonu içerisinde string değer kabul ediyor ama siz integer koymuşsunuz.

Input'u int olarak değil string olarak almanız gerek.

Python:
 kac_tl = input("Kaç TL yatırmak istiyorsunuz?")
 ffile = open("bakiye.txt")
 ffile.write(kac_tl)
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.
 
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.
 
Çö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.
Hocam sen benim attigimi bi dene.
Yapacagin islemi belirtmemissin.
 
Denedim. Sorunsuz çalıştı ama TXT dosyasına yazmadı.

@Kernelginar hocam kusura bakmayın yordum sizi kod hatasız çalışıyor fakat dosyanın içine yazmıyor. Anlamadım.

Kodun son hâli nedir?
Ayrıca son attığım şekildeki kodu denediniz mi?
 
Kodun son hâli nedir?
Ayrıca son attığım şekildeki kodu denediniz mi?
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)
 

Geri
Yukarı