Secara default, print() Python fungsi mengarahkan keluarannya ke sys.stdout , yang dokumentasinya menentukan ini:
Saat interaktif,
stdoutdanstderrstream di-buffer baris. Jika tidak, stream di buffer seperti file teks biasa. Anda dapat mengganti nilai ini dengan-uopsi baris perintah.
Perhatikan baik-baik bahwa dokumen tersebut tidak memberikan ruang untuk pengaruh lingkungan umum, seperti stdbuf perintah, pada mode buffering sys.stdout :tidak buffer jika -u opsi digunakan (atau, dengan kata lain, jika variabel lingkungan PYTHONUNBUFFERED telah ditetapkan), jika tidak, buffer garis jika interaktif dan buffer blok jika non-interaktif.
Program dapat mengontrol bufferingnya sendiri, seperti dokumen stdbuf akui:
CATATAN:Jika PERINTAH menyesuaikan buffering aliran standarnya ('tee'does misalnya) maka itu akan menggantikan pengaturan terkait yang diubah oleh 'stdbuf'. Juga beberapa filter (seperti 'dd' dan 'cat' dll.) tidak menggunakan aliran untuk I/O, sehingga tidak terpengaruh oleh pengaturan 'stdbuf'.
Karena Python secara eksplisit menentukan detail buffering, masuk akal untuk berharap bahwa ia benar-benar mengelola bufferingnya secara afirmatif, sehingga memperdebatkan efek apa pun dari stdbuf .