簡體   English   中英

為什么python將版本信息打印到stderr?

[英]Why does python print version info to stderr?

為什么Guido(或其他人)決定將python --version打印到stderr而不是stdout? 只是好奇用例是什么,它使標准錯誤比標准錯誤更合適。

Python 3.4已修改為輸出到stdout ,這是預期的行為。 此處將其列為Python的錯誤: http : //bugs.python.org/issue18338 錯誤報告中的注釋表明,盡管stdout是合理的選擇,但它會破壞向后兼容性。 Python 2.7.9在很大程度上沒有變化,因為它非常依賴它。

希望有幫助!

許多程序只會使用stdout而不在乎,但原則上我更喜歡stderr 簡而言之,我相信stdout是程序成功執行的產物,而stderr是針對用戶的任何消息。 計算的值發送到stdout而錯誤,堆棧跟蹤,幫助, 版本和使用情況消息則是給用戶的,應該發送到stderr

我用這個問題來決定輸出哪種流是合適的:此消息是針對該程序的主要產品的消費者(無論是人類用戶還是其他程序或其他),還是僅針對該程序的人類用戶? ?

同樣,看起來Java也順便用了stderr作為版本消息: 為什么'java -version'進入stderr?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM