subprocess模塊中的主要類是name Popen,它代表一個子進程。Popen聽起來好像有人試圖強迫名稱遵循某種函數命名格式,而不是選擇實際上代表對象的名稱。有誰知道為什么選擇了簡單的東西,比如說Subprocess?
3 回答

慕碼人8056858
TA貢獻1803條經驗 獲得超6個贊
現在,我并不是說這是世界上最偉大的名字,但這是我所理解的想法。
最初,popen系列位于os模塊中,并且是古老的posix popen的實現。轉移到子進程模塊是重命名它們的最佳時機,但是我想保留Popen可以使他們在python中擁有悠久的歷史,甚至是古老的posix函數的文檔更容易找到。
從其最早的posix化身開始,Popen
一直旨在打開一個Process,并允許您像文件一樣從其stdio進行讀寫。因此,助記符Popen
是ProcessOpen
試圖在某種程度上看起來像是開放的簡稱。

茅侃侃
TA貢獻1842條經驗 獲得超22個贊
subprocess.Popen
替換os.popenX
POSIX函數組(歷史悠久)。我想這個名字Popen
使習慣于舊功能的人們更有可能找到并使用新功能。
子流程的PEP(PEP 324)對模塊名稱進行了一些討論,但對class卻沒有進行討論Popen
。該執行點的名單(Python的增強建議)一般,如果你正在尋找的Python的功能原理,以一個很好的開端。
添加回答
舉報
0/150
提交
取消