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条经验 获得超21个赞
subprocess.Popen
替换os.popenX
POSIX函数组(历史悠久)。我想这个名字Popen
使习惯于旧功能的人们更有可能找到并使用新功能。
子流程的PEP(PEP 324)对模块名称进行了一些讨论,但对class却没有进行讨论Popen
。该执行点的名单(Python的增强建议)一般,如果你正在寻找的Python的功能原理,以一个很好的开端。
添加回答
举报
0/150
提交
取消