使用Python2.7中的子进程将代码转换为Python2.3

使用Python2.7中的子进程将代码转换为Python2.3,python,stdout,Python,Stdout,我正在编写一个python程序,它将生成一个子进程,基本上克隆一个日志文件。我在2.7中有工作代码,但由于供应商的限制,我不得不使用Python2.3,因此使用子流程模块是不可能的 我需要帮助翻译以下内容: self.FILE_OUT = open(self.file2write,"a" ) self.FILE_IN=subprocess.Popen( self.file2process, stdout=self.FILE_OUT,

我正在编写一个python程序,它将生成一个子进程,基本上克隆一个日志文件。我在2.7中有工作代码,但由于供应商的限制,我不得不使用Python2.3,因此使用子流程模块是不可能的

我需要帮助翻译以下内容:

self.FILE_OUT =  open(self.file2write,"a" )
self.FILE_IN=subprocess.Popen( self.file2process,
               stdout=self.FILE_OUT,
               bufsize=0,
               shell=True)
转换为2.3代码


我对如何执行stdout=self.FILE感到困惑,这取决于你在做什么,但执行命令的旧方法是使用
os.popen
。它的工作原理如下:

>>> echo_stdout = os.popen('echo foo', 'r')
>>> echo_stdout.read()
'foo\n'
os
模块中还有其他版本的
popen
,它们可以返回包含
stdin
stdout
的2元组,或包含
stdin
stderr
的3元组。有关更多详细信息,请参阅,如果没有帮助,请告诉我

下面是一个如何使用popen2的示例:

>>> cat_stdin, cat_stdout = os.popen2('cat')
>>> cat_stdin.write('foo\n')
>>> cat_stdin.close()
>>> cat_stdout.read()
'foo\n'

文件似乎很清楚。应该有你需要的所有信息。哪一部分让人困惑?我对那一部分没意见,我不确定的是把标准输出文件放到一个文件中。