|
请问怎样将 os.system()、os.execlp() 或 os.spawnlp() 等的输出(sys.stdout)重定向到一个文件或一个List中(一行一个item)?
- 1 #!/usr/bin/python
- 2 # -*- coding: UTF-8 -*-
- 3
- 4 import os
- 5 import sys
- 6
- 7 class stdout:
- 8 def __init__(self):
- 9 self.result = []
- 10 def write(self, str):
- 11 self.result = str.split('\n')
- 12 def getlist(self):
- 13 return self.result
- 14
- 15 STDOUT = sys.stdout
- 16 sys.stdout = open('tmp', 'w')
- 17 os.system('ls -l')
- 18 # os.spawnlp(os.P_WAIT, 'ls', '')
- 19 tmp = sys.stdout
- 20 sys.stdout = STDOUT
- 21 # print tmp.getlist()
复制代码
上述使用对象或文件的方法都没有效果。
谢谢。 |
|