我正在使用 python 中的 powershell 命令获取一些数据,而 windows 中没有 cmd!如何将此输出分配给字符串变量?

I am getting some data using powershell command from python without having a cmd in windows! how can i assigned this output to a string variable?

我正在使用来自 python 的 PowerShell 命令获取一些数据,而没有通过此命令在 windows 中使用命令!

import os
windows_info = os.system('powershell.exe get-physicaldisk')

它正在成功运行。但是这个输出给出了 'int' 输出!我试图通过使用

将其转换为字符串
windows_infoEG = str(windows_info)

但是当我尝试打印它时它不会打印任何东西(但是当我检查它的类型时它说 'str')。如何将其转换为字符串以便将输出写入文本文件!

这是我的全部代码。

 import os
    
    windows_info = os.system('powershell.exe get-physicaldisk')
    print(type(windows_info)) 
    
    windows_infoEG = str(windows_info)
    print(type(windows_infoEG)) 
    
    print(windows_infoEG)
    
    f = open("hardDriveInfo.txt", "w")
    f.write("Hard Drive Info" + windows_infoEG)
    f.close()

谢谢!

os.system return您是进程的“退出代码”(通常为 0 表示成功,非零表示失败)。这就是为什么你得到一个整数。它不会 return 给你命令的标准输出。为此,您需要 subprocess 模块。

windows_info = subprocess.check_output(['powershell.exe','get-physicaldisk']).decode('utf-8')