Değişkende tutulan tüm liste elamanlarını dosyaya yazdırma

Merhaba,

Önce bir liste oluşturdum. Sonra bu liste içindekileri permutasyon ile tüm varyasyonlarını alıp değişkene atadım.

Print komutu ile değişkeni yazdırdığımda hepsi alt alta yazıyor. Ancak open ile dosya açıp yaz dediğimde yalnızca son seçeneği kaydediyor. Ben tümünü dosyaya alt alta kaydetsin istiyorum.

Yardımcı olabilirmisiniz ?

s= ["A","B","C"]
result = "".join(s)


from itertools import permutations
p = permutations(result)

for j in (p):
    son = "".join(j)
    #key = list(son)
    print(son)

    dosya = open("kaydet.txt","w")
    dosya.write(str(son))

Burada ekran çıktısı
1

Burada da txt dosya içeriği
2

s= ["A","B","C"]
result = "".join(s)


from itertools import permutations
p = permutations(result)

for j in (p):
    son = "".join(j)
    print(son)

    dosya = open("kaydet.txt","a")
    dosya.writelines(str(son) + "\n")

Açılan dosyanın otomatik olarak kapatılması için aşağıdaki kod daha doğru sanrım:

s= ["A","B","C"]
result = "".join(s)


from itertools import permutations
p = permutations(result)

for j in (p):
    son = "".join(j)
    print(son)

    with open("kaydet.txt","a") as dosya:
        dosya.writelines(str(son) + "\n")

Dosyaların Sonunda Değişiklik Yapmak

Daha önce de söylediğimiz gibi, Python’da bir dosyayı açarken, o dosyayı hangi kipte açacağımızı belirtmemiz gerekiyor. Yani eğer bir dosyayı okumak istiyorsak dosyayı “r” kipinde, yazmak istiyorsak da “w” kipinde açmamız gerekiyor. Bildiğiniz gibi “w” kipi dosya içeriğini tamamen siliyor.

Eğer bir dosyayı tamamen silmeden, o dosyaya ekleme yapmak veya o dosyada herhangi bir değişiklik yapmak istiyorsak, dosyamızı buraya kadar öğrendiğimiz iki kipten daha farklı bir kiple açmamız gerekiyor. Şimdi öğreneceğimiz bu yeni kipin adı “a”. Yani Python’da içi boş olmayan bir dosyada değişiklik yapabilmek için “a” adlı bir kipten yararlanacağız:

Kaynak:

1 Beğeni

dosya.writelines … “\n”

evet bu son satır işte sihirli formül bu. Teşekkürler yanıtınız için.