代码之家  ›  专栏  ›  技术社区  ›  crystalattice

所有操作系统之间的区别是什么。popen()方法?

  •  7
  • crystalattice  · 技术社区  · 16 年前

    我在看 Python documentation 并看到有4-5个不同版本的popen(),例如os。popen(),os。popen2()等。

    除了一些 标准错误 当其他人不这样做时,它们之间有什么区别?你什么时候会使用它们?文件并没有很好地解释这一点。

    3 回复  |  直到 16 年前
        1
  •  14
  •   Ned Batchelder    16 年前

    杰森说得对。以更容易理解的方式进行总结:

    • 操作系统。popen()->斯特杜特
    • 操作系统。popen2()->(stdin,stdout)
    • 操作系统。popen3()->(标准输入、标准输出、标准输出)
    • 操作系统。popen4()->(stdin、stdout_和stderr)
        2
  •  13
  •   S.Lott    16 年前

    我建议使用 subprocess 模块,该模块具有这些函数所具有的所有功能以及更多功能。

        3
  •  10
  •   Jason Coco superfell    16 年前

    popen2不会捕获标准错误,popen3会捕获标准错误并为其提供唯一的文件句柄。最后,popen4捕获标准错误,但将其包含在与标准输出相同的文件对象中。