与powershell一起使用时,Python子流程返回的格式错误
我一直在尝试以下方法:与powershell一起使用时,Python子流程返回的格式错误,python,powershell,subprocess,Python,Powershell,Subprocess,我一直在尝试以下方法: process=check_output(["powershell.exe", "Get-Childitem C:\\Windows\\*.log"]); return process 它返回时输出: b'\r\n\r\n目录:C:\Windows\r\n\r\n\r\n模式LastWriteTime Leng 第个名称\r\n-->- ---------2018年6月14日上午11:26 4056 DtcInstall.log\r\n-a-
process=check_output(["powershell.exe", "Get-Childitem C:\\Windows\\*.log"]);
return process
它返回时输出:
b'\r\n\r\n目录:C:\Windows\r\n\r\n\r\n模式LastWriteTime Leng
第个名称\r\n-->-
---------2018年6月14日上午11:26
4056 DtcInstall.log\r\n-a----2018年6月21日上午11:33
41261 iis.log\r\n-a----9/12/2016上午4:34
1342 lsasetup.log\r\n-a----6/25/2018 12:06
PM 8904 PFRO.log\r\n-a---2018年6月21日12:
04 PM 7530 setupact.log\r\n-a----9/12/2016
凌晨4:35 0 setuperr.log\r\n-a----6/26/201
下午8:12:17 275 WindowsUpdate.log\r\n\r\n\r\n'
到处都是\n和\r。如何使其返回所需的标准格式?我还使用.PIPE尝试了subprocess Popen方法,得到了相同的结果 结果是一个经过编码的bytestring,您必须先对其进行
.decode()
解码,然后再进行print()
以查看其格式<代码>\r\n是字符串中的换行符
process = check_output(["powershell.exe", "Get-Childitem C:\\Windows\\*.log"]);
print(process.decode('utf-8'))
您可以尝试:
process=check_输出([“powershell.exe”,“Get Childitem C:\\Windows\\*.log”]).strip()代码>或按此处所述逐行分析输出: