Dosyaya Neden Yazmıyor?

Merhabalar,

Bir arkadaşımıza yardımcı olmak için kayıt/giriş sistemi yapıyordum ve Python’u iyice unuttuğumu fark ettim.Aşağıdaki kod neden dosyayı oluşturuyor ancak dosyaya bir şey yazmıyor?

import os

print("Kayıt olmak için 1 yazınız.\nGiriş yapmak için 2 yazınız.")
cevap = int(input())

#Eğer 1 yazılırsa,yani kayıt olmak istenirse
if cevap == 1:
    kullaniciadi = input("Bir kullanıcı adı oluşturun : ")
    sifre = input("Bir şifre oluşturun : ")
    kullanici = open("kullanıcı.txt", "w")
    kullanici.write(kullaniciadi)


    
#Eğer 2 yazılırsa,yani giriş yapmak istenirse
elif cevap == 2:
    pass

else:
    print("Lütfen 1 veya 2 tuşunu tuşlayın.")
    input()
    quit()

Merhaba,

Kullanıcı adını yazıyor. Şu an Ubuntu kullanıyorum, Eğer Windows kullanıyorsanız ve inputlara türkçe karakterler girecekseniz, open fonksiyonuna encoding="utf-8" parametresini eklemeniz gerekiyor.

Ayrıca os modülünü gereksiz yere içe aktarmışsınız. Ve açtığınız dosyayı da kapatmamışsınız, dosyayı kapatana kadar yazdığınız veriler tamponda bekletilir. Yazdırılacak metnin tamponda beklememesi için flush metodunu kullanmanız gerekiyor. Ancak burada dosya işlemleri çok uzun sürmüyor ve input ile almış olduğunuz veriler tamponda çok bekletilmiyor ve close fonksiyonunu çağırmamanıza rağmen dosya program sonlandığında kapatılıyor. Yine de dosya işlemlerinden sonra dosyayı kapatmanız tavsiye edilir. Veya open fonksiyonunu with deyimi ile birlikte kullanabilirsiniz.

inputa abc değerini yazmıştım.Oysaki kodları belgelerden almıştım :

belgeler

Bir hata var galiba.Burada dosya kapatılmadan işlem yapılmaya çalışılmış.

O örneği kim yazdıysa dosyayı kapatmayı unutmuş. Ancak kodda sadece bu satır varsa, zaten program sonlandığında dosya da kapatılır ve dosyaya Halil Pazarlama: 120.000 TL" yazılır. Sizin örneğinizde de dosyaya kullaniciadi değişkeninin aldığı değer yazılıyordu. Sizde nasıl dosyaya yazılmadı anlamadım.

Bende dosya oluşturuluyor.Hata falan vermiyor ancak dosyanın içi boş nedense.Python 3.9.0 kullanıyorum,tek fark o.