我正在尝试在python中使用Powershell并使用get-disk命令 我尝试使用stdout并打印它,但它的值在我使用Communicate()函数后就消失了 这是我的代码:
proc = subprocess.Popen(r"C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe", stdin = subprocess.PIPE,
stdout = subprocess.PIPE)
stdout, stderr = proc.communicate('get-disk')
print stdout
有什么建议吗?
答案 0 :(得分:0)
您可以尝试以下操作,它将读取您的进程的std输出 用
开始这个过程时proc=Popen('Some process',stdout=subprocess.PIPE)
stdout = proc.stdout.read()
答案 1 :(得分:0)
您可以按照以下步骤执行此操作
from subprocess import Popen
from subprocess import Popen, CREATE_NEW_CONSOLE,PIPE,STDOUT
import subprocess
command="powershell.exe get-disk"
#This will open the command in a new console
proc=Popen(command,creationflags=CREATE_NEW_CONSOLE,stdout=subprocess.PIPE)
read_stdout=[]
for lines in proc.stdout.readlines():
read_stdout.append(lines)
print read_stdout
答案 2 :(得分:0)
我推荐1:00-1:30 PM, 2:00=2:30 PM
5:00-5:30 PM
而不是proc.stdout.read()
你想要的是这样的:
proc.communicate()