'da temizlenmesine nasıl karar verdim Yazdığım bazı kodları ayıklamaya çalışıyorum, bu da çok sayıda paralel işlem gerektirir. Ve sys.stdout
çıkışını içeren bazı istenmeyen davranışlar var ve belirli iletiler iki kez yazdırılıyor. Hata ayıklama amacıyla, belirli bir noktada sys.stdout
'un temizlenip temizlenmediğini bilmek çok yararlı olacaktır. Bunun mümkün olup olmadığını merak ediyorum ve eğer öyleyse, nasıl?Sys.stdout'un Python
Ps. Önemli mi bilmiyorum ama OS X kullanıyorum (en azından bazı sys
komutları işletim sistemine bağlıdır).
Sızdırılmış veya sys.stdout, süreçler arasında (ve aynı işlemdeki iş parçacıkları arasında bile olsa) garantili bir sipariş vermeyecektir. Neden doğru zaman damgaları ve günlük iletilerini her birinden ayrı olarak eklemezseniz, veya daha da iyisi, hepsinin hata ayıklama iletilerini threadafe veya interprocess kuyruğuyla göndermesine neden gerek yok? – James
Sorun, aynı çıkışın iki kez gerçekleşmesidir, bu nedenle zaman damgası eklenmesi e.t.c. gerçekten yardım etmeyecek. Ayrıca sys.stdout'u özel bir şeye dönüştürmek, bu gerçekten tampon ile ilgili bir sorun olduğundan yardımcı olmaz. Eğer her şeyi başlatırsam python süreçlerini -u bayrağıyla anlayamadım. Bazı IO'lardan sonra, her zaman tamamen kızarmak yerine, tam olarak ne olduğunu bilmek isterim; çünkü bu, sorunun özünü anlamadan çirkin bir çözüm olacaktır. – koffie