Python “通过”的子流程等效于什么;b";到os.popen2?

Python “通过”的子流程等效于什么;b";到os.popen2?,python,subprocess,Python,Subprocess,在Python2.x中,os.popen(command,“b”)提供给定命令输出的二进制流。这在Windows上非常重要,因为二进制和文本流实际上会给您提供不同的字节 子进程模块应该替换os.popen和其他子进程生成API。但是,转换文档根本没有谈到处理“b”模式。如何使用子流程获取二进制输出流?默认情况下是这样的,除非您正在执行Popen(…,universal\u newlines=True) class Popen(object): [...] def __init__

在Python2.x中,
os.popen(command,“b”)
提供给定命令输出的二进制流。这在Windows上非常重要,因为二进制和文本流实际上会给您提供不同的字节


子进程
模块应该替换
os.popen
和其他子进程生成API。但是,转换文档根本没有谈到处理“b”模式。如何使用
子流程获取二进制输出流?

默认情况下是这样的,除非您正在执行
Popen(…,universal\u newlines=True)

class Popen(object):
    [...]
    def __init__(self, ...):
        [...]
        if p2cwrite is not None:
            self.stdin = os.fdopen(p2cwrite, 'wb', bufsize)
        if c2pread is not None:
            if universal_newlines:
                self.stdout = os.fdopen(c2pread, 'rU', bufsize)
            else:
                self.stdout = os.fdopen(c2pread, 'rb', bufsize)
        if errread is not None:
            if universal_newlines:
                self.stderr = os.fdopen(errread, 'rU', bufsize)
            else:
                self.stderr = os.fdopen(errread, 'rb', bufsize)