Son kullanma tarihi geçmiş, bayatlamış bir tarayıcı kullanıyorsanız, Mercedes kullanmak yerine tosbağaya binmek gibi... Web sitelerini düzgün görüntüleyemiyorsanız eh, bi' zahmet tarayıcınızı güncelleyiniz. Modern Web standartlarını karşılayan bir tarayıcı alternatifine göz atın.
Şimdi program dosyadan bir sayı okuyup 1 eksiğini dosyaya yazıyor ya bir daha çalıştırdığımda o dosyaya yazılan sayının 1 eksiğini okumasını nasıl sağlarım her seferinde
Şimdi program dosyadan bir sayı okuyup 1 eksiğini dosyaya yazıyor ya bir daha çalıştırdığımda o dosyaya yazılan sayının 1 eksiğini okumasını nasıl sağlarım her seferinde
Örnek verecek olursak mesela kod dosyasında 9 yazıyor diyelim program dosyadan 9 u okudu bir eksiğini aldı .Yani 8.Bu sayıyı kod dosyasının alt satırına yazdı.Ondan sonra program bitti.Bidaha çalıştırdığımda bu sefer alt satıra yazdığı 8 sayısını okumasını nasıl sağlarım ??
# Kullanıcı Bilgileri
ePosta = input('E-Posta adresi giriniz: ')
kullaniciAdi = input('Kullanici Adi belirleyin: ')
sifre = input('Lutfen Sifre giriniz: ')
# Kod dosyasını aç
kodDosyasi = open("kodDosyasi.txt", "r+")
# strolarak oku, int'e dönüştür ve işle, tekrar str'a dönüştür
sayıStr=kodDosyasi.read()
sayıInt = int(sayıStr)
yeniSayı = str(sayıInt-1)
# Dosyaya alt alta yaz.
print('Bu kodu kaybetmeyeceğiniz bir yerde saklayınız!')
kullaniciBilgileri = open("kullaniciBilgileri.txt", "w")
kullaniciBilgileri.write(ePosta + '\n' + kullaniciAdi + '\n' + sifre + '\n' + yeniSayı)
kodDosyasi.truncate(0)
kodDosyasi.write(yeniSayı)
# Dosyaları kapat
kullaniciBilgileri.close()
kodDosyasi.close()
******************
Bu ise dosyayı r olarak açıp, okumayı yaptıktan sonra kapatıyor. Sonrasında kod dosyasını w modunda açıyor, bu sayede dosya sıfırlanıyor.
Üstteki kod da temizleme işlemi yapıyor ama nedense boşluk bırakıyor yazarken. Sorun oluyor o nedenle.
Python:
# Kullanıcı Bilgileri
ePosta = input('E-Posta adresi giriniz: ')
kullaniciAdi = input('Kullanici Adi belirleyin: ')
sifre = input('Lutfen Sifre giriniz: ')
# Kod dosyasını aç
kodDosyasi = open("kodDosyasi.txt", "r")
# strolarak oku, int'e dönüştür ve işle, tekrar str'a dönüştür
sayıStr=kodDosyasi.read()
print(sayıStr)
sayıInt = int(sayıStr)
yeniSayı = str(sayıInt-1)
kodDosyasi.close()
# Dosyaya alt alta yaz.
print('Bu kodu kaybetmeyeceğiniz bir yerde saklayınız!')
kullaniciBilgileri = open("kullaniciBilgileri.txt", "w")
kullaniciBilgileri.write(ePosta + '\n' + kullaniciAdi + '\n' + sifre + '\n' + yeniSayı)
kodDosyasi = open("kodDosyasi.txt", "w")
kodDosyasi.write(yeniSayı)
# Dosyaları kapat
kullaniciBilgileri.close()
kodDosyasi.close()
Bu arada bunu ne için ve hangi amaçla yapıyorsun bilkmiyorum. Ama bilgilerin yazılı olacağı dosyaya, farklı isimler verirsen daha iyi olur. Mesela dosya ismini kullanıcı adı yapabilirsin. Bu sayede her defasında farklı dosya oluşturur.
# Kullanıcı Bilgileri
ePosta = input('E-Posta adresi giriniz: ')
kullaniciAdi = input('Kullanici Adi belirleyin: ')
sifre = input('Lutfen Sifre giriniz: ')
# Kod dosyasını aç
kodDosyasi = open("kodDosyasi.txt", "r+")
# strolarak oku, int'e dönüştür ve işle, tekrar str'a dönüştür
sayıStr=kodDosyasi.read()
sayıInt = int(sayıStr)
yeniSayı = str(sayıInt-1)
# Dosyaya alt alta yaz.
print('Bu kodu kaybetmeyeceğiniz bir yerde saklayınız!')
kullaniciBilgileri = open("kullaniciBilgileri.txt", "w")
kullaniciBilgileri.write(ePosta + '\n' + kullaniciAdi + '\n' + sifre + '\n' + yeniSayı)
kodDosyasi.truncate(0)
kodDosyasi.write(yeniSayı)
# Dosyaları kapat
kullaniciBilgileri.close()
kodDosyasi.close()
******************
Bu ise dosyayı r olarak açıp, okumayı yaptıktan sonra kapatıyor. Sonrasında kod dosyasını w modunda açıyor, bu sayede dosya sıfırlanıyor.
Üstteki kod da temizleme işlemi yapıyor ama nedense boşluk bırakıyor yazarken. Sorun oluyor o nedenle.
Python:
# Kullanıcı Bilgileri
ePosta = input('E-Posta adresi giriniz: ')
kullaniciAdi = input('Kullanici Adi belirleyin: ')
sifre = input('Lutfen Sifre giriniz: ')
# Kod dosyasını aç
kodDosyasi = open("kodDosyasi.txt", "r")
# strolarak oku, int'e dönüştür ve işle, tekrar str'a dönüştür
sayıStr=kodDosyasi.read()
print(sayıStr)
sayıInt = int(sayıStr)
yeniSayı = str(sayıInt-1)
kodDosyasi.close()
# Dosyaya alt alta yaz.
print('Bu kodu kaybetmeyeceğiniz bir yerde saklayınız!')
kullaniciBilgileri = open("kullaniciBilgileri.txt", "w")
kullaniciBilgileri.write(ePosta + '\n' + kullaniciAdi + '\n' + sifre + '\n' + yeniSayı)
kodDosyasi = open("kodDosyasi.txt", "w")
kodDosyasi.write(yeniSayı)
# Dosyaları kapat
kullaniciBilgileri.close()
kodDosyasi.close()
Bu arada bunu ne için ve hangi amaçla yapıyorsun bilkmiyorum. Ama bilgilerin yazılı olacağı dosyaya, farklı isimler verirsen daha iyi olur. Mesela dosya ismini kullanıcı adı yapabilirsin. Bu sayede her defasında farklı dosya oluşturur.
Teşekkürler işe yarıyor ama o dosyadan sayıları silmemesi gerekiyor ??
mesela şöyle bir şey düşündüm ama nasıl yazacağımı bilmiyorum ;
İlk önce dosyadan 9' u okuyacak sonra bir eksiltecek,yani 8, dosyaya yazarken en üste yazacak böylece okurken zaten en üste yazdığından kod.read() komutu ile okuyabilecek.