异步写入和读取文件

时间:2010-06-17 04:35:51

标签: python django

我有两个过程。

  1. 一个进程是将某些unix命令的输出重定向到服务器端的文件。数据始终附加到文件中。 e.g。

    find / > tmp.txt
    
  2. 另一个过程是打开并读取同一个文件并将其存储在字符串中并将整个字符串发送给客户端。

  3. 现在,这件事同时进行。我正在使用python。

    有关实施此方案的可能方式的任何建议。请用示例代码说明。

    提前致谢。

    Tazim。

1 个答案:

答案 0 :(得分:1)

如果你想要的是在文件中输出Unix命令并同时显示它,你可以[tee][1]将它标记为stdout并从那里读取它,如:

>>> command_line = '/bin/find / |tee tmp.txt'
>>> args = shlex.split(command_line)
>>> p = subprocess.Popen(args,stdout=subprocess.PIPE)

从那里你可以使用commuicate()或直接从POpen对象读取stdout。了解如何使用here