Ubuntu Türkiye

Yazılım => Programlama => Python => Konuyu başlatan: tek_boynuzlu_ayı - 21 Eylül 2018 - 16:52:58

Başlık: sys.stdout değerini sıfırlamak
Gönderen: tek_boynuzlu_ayı - 21 Eylül 2018 - 16:52:58
Herkese merhaba 2 gün önce istihza nın sunduğu kaynaktan python öğrenmeye başladım

sys.stdout

değerini sıfırlamaya çalıştım ama başaramadım

kaynakta

f, sys.stdout = sys.stdout, f

yapıldığında değerin sıfırlandığı yazıyordu (f değeri verdik diyelim)
ama bunu yapıp sys.stdout yazdığımda normalde

<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>

çıktısını verirken yaptıktan sonra (f, sys.stdout = sys.stdout, f / f del / sys.stdout del yazsam  bile )

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: I/O operation on closed file.


çıktısını alıyorum sizce nerede hata yapıyorum ?

(import sys yazıyorum)
Başlık: Ynt: sys.stdout değerini sıfırlamak
Gönderen: lafurus - 21 Eylül 2018 - 20:56:30
f değişkenin tuttuğu dosyayı kapatmışsın o yüzden işlem yapamıyorsun. ayrıca muhtemelen etkileşimli kabuğu yeniden başlatırsan sıfırlanacaktır.
Başlık: Ynt: sys.stdout değerini sıfırlamak
Gönderen: tek_boynuzlu_ayı - 22 Eylül 2018 - 11:43:09
Öyle düzeliyor evet ama kapatmadan düzeltemiyorum nedense dosyayı kapatmadan değerleri değiştirincede düzelmiyor