我正在运行python程序:
import os
os.system("ls") # ls command runs on the terminal
将输出存储在文件中:
os.system("ls > a.txt")
我需要的是,它将输出存储在一些临时字符串中。是否可能??
答案 0 :(得分:5)
import subprocess
output = subprocess.Popen(["ls"], stdout = subprocess.PIPE, stderr = subprocess.STDOUT).communicate()[0]
在此运行外部命令ls
,并将命令的stderr
和stdout
遍布重定向到变量output
。
使用stdout
函数的stderr
和Popen
参数指定必须重定向流的位置。