gpt4 book ai didi

python - os.popen 真的在 Python 2.6 中被弃用了吗?

转载 作者:太空狗 更新时间:2023-10-29 21:30:14 27 4
gpt4 key购买 nike

在线documentation声明 os.popen 现已弃用。所有其他弃用的函数都会适本地引发 DeprecationWarning。例如:

>>> import os
>>> [c.close() for c in os.popen2('ps h -eo pid:1,command')]
__main__:1: DeprecationWarning: os.popen2 is deprecated. Use the subprocess module.
[None, None]

另一方面,函数 os.popen 静默完成:

>>>len(list(os.popen('ps h -eo pid:1,command')))
202

不发出警告。三种可能的情况

  1. 文档和标准库对弃用的内容有不同的看法是预期的行为;
  2. 文档中存在错误,os.popen 并未真正弃用;
  3. 标准库中有错误,os.popen 应该发出警告;

哪一个是正确的?

有关背景信息,这是我正在使用的 Python:

>>> import sys
>>> print sys.version
2.6.2 (r262:71600, May 12 2009, 10:57:01)
[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)]

os.popen 的参数取自 reply of mine在 Stack Overflow 上。

附录:感谢cobal below ,事实证明 os.popen 在 Python 3.1 中并没有被弃用,毕竟。

最佳答案

这是 PEP .

Deprecated modules and functions in the standard library:

- buildtools
- cfmfile
- commands.getstatus()
- macostools.touched()
- md5
- MimeWriter
- mimify
- popen2, os.popen[234]()
- posixfile
- sets
- sha

关于python - os.popen 真的在 Python 2.6 中被弃用了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1098257/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com