20 EYLÜL 2008, CUMARTESİ
Devre dışı çıktı tamponlama
Çıkış arabelleği sys.stdout
Python yorumlayıcısı varsayılan olarak etkin mi ?
Eğer cevap olumlu ise, onu devre dışı bırakmak için her yolu nedir ?
Öneriler şimdiye kadar:
-u
komut satırı anahtarı kullanın- Wrap 3* *her yaz sonra basması bir nesne
PYTHONUNBUFFERED
env var Setsys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
Yürütme sırasında sys / sys.stdout
Program aracılığıyla bazı genel bayrağını ayarlamak için başka bir yol var mı ?
CEVAP
20 EYLÜL 2008, CUMARTESİ
Magnus Lycka answer on a mailing list:
Bir bütün için tampon atlayabilirsiniz python süreci kullanarak "python -u" (veya#!/-u vb.) usr/bin/env python ya ayarı ortam değişkeni PYTHONUNBUFFERED.
Ayrıca sys yerine.stdout ile hangi sarıcı gibi bazı diğer stream her aramadan sonra temizler.
class Unbuffered(object): def __init__(self, stream): self.stream = stream def write(self, data): self.stream.write(data) self.stream.flush() def __getattr__(self, attr): return getattr(self.stream, attr) import sys sys.stdout = Unbuffered(sys.stdout) print 'Hello'
Bunu Paylaş:
Java devre dışı bırakılması, Log4J Çık...
Nasıl İstekleri kütüphaneden günlük il...
Nasıl eylem bar kalıcı olarak devre dı...
Ya da varlık çerçevesi 4.1 ve MVC3 ile...
Nasıl bir yöntem adı ve satır numarası...