Merhabalar. python dersimin ikinci günümdeyim. Print fonksiyonu eğitiminde sys kütüphanesini import etmeyi öğrendim. Takıldığım konu şu. yeni bir metin belgesi açıp buna bir değişken atıyorum. ve bunu sys.stdout dosyasıyla değiştiriyorum. buraya kadar sorun yok, lakin bu işlemi geri almak için eğitimde verilen kodu yazınca bende bir değişim olmuyor.
değişkenimizin “f” olduğunu varsayalım,
f, sys.stdout = sys.stdout, f
kodunu yazıp shellden print("deneme")
yazdığım zaman, sanki sys.stdout’u geri takas etmemişim ve outputlar hala f değişkenine gitmesi gerekiyormuş gibi davranıyor.
pek doğru kelimelerle anlatım yapamamış olabilirim, direkt kodları da yazayım.
import sys
f = open("yeni","x")
f = sys.stdout
print("deneme", flush=True)
(oluşturduğum dosyaya print ediliyor, yani buraya kadar sıkıntı yok.)
f, sys.stdout = sys.stdout, f
print("deneme")
(bunu yazıyorum ve fark ediyorum ki f değişkeniyle sys.stdout değişmemiş.)