為什麼 PYTHONUNBUFFERED 這個環境變數只在重定向的情況下會用到?

時間 2021-06-02 07:00:11

1樓:飛鴻

自己來回答一下這個問題。

當我們使用互動式的 Python 直譯器的時候, stdout 輸出流預設是行快取的 ( line-buffered ),因而我們直接使用 print 語句進行輸出的時候,內容會及時顯示,因為 print 函式包含了預設引數 end='\n' 。

下面是 print 函式的介面定義:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

2樓:小張

看原始碼介紹 : 在新程序中執行子程式, 所以run內外的輸出順序無法保證

輸出順序和快取無關, 而是因為多程序

再看看這一段以及輸出順序:

import

subprocess

print

('First line 1')a

=subprocess

.run

("echo Second line 2; sleep 1;"

,shell

=True

,check

=True

)print

('Third line 3'

)#First line 1

#Second line 2

#Third line 3

解決 : 可以把要執行語句全放進subprocess.run 裡面執行

為什麼要重男輕女,為什麼?

Stunk 簡單說說國內重男輕女的假象 嫁出去的女兒潑出去的水 這是一句俗話,深入人心 現代社會,物質生產跟上來了,女兒們開始反哺原生家庭了,於是也出現了農村地區殺男嬰的故事 先說說古代為何 重男輕女 因為女兒不顧原生家庭 在物質匱乏的古代,生存本來就是一件難事,讓女人來顧家是不可能的 怎麼得出這個...

為什麼那麼焦慮?為什麼那麼勢利?為什麼那麼急於成功?

個人感覺最重要的是人在社會中的安全感。其實真不是每個人都那麼地渴望成功,而且成功的定義本來就是多種多樣的。但在中國,如果你沒有達到廣泛定義上的 成功 你可能會有以下的結果 你可能在城市中會隨時沒有安身之所,你可能會遭受不公但投訴無門,你的父母至親可能患病也得不到最基本救助,你的孩子可能得不到平等的教...

我為什麼是我?為什麼?

主角戲 馬克思說過,人是所有社會關係的總和,所以首先,你作為人來說,你只是你周圍所有關係的總和,你的偏執,你的瘋狂,你的愛情,你的孝順,你的所有人生觀,價值觀,世界觀,宇宙觀,形成了你。但是你錯誤的把這些當成了你,其實這些都是人的錯誤認識,心 的本體,也就是能生萬物,能生萬法的這個東西沒有被發現之前...