簡體   English   中英

后處理來自子進程的 output 信息。在 Python 中運行

[英]post process the output information from subprocess.run in Python

我試圖在 Python 中打印 cuda 信息

import subprocess
subprocess.run(["nvcc","--version"],capture_output=True)

結果如下所示

CompletedProcess(args=['nvcc', '--version'], returncode=0, stdout=b'nvcc: NVIDIA (R) Cuda compiler driver\r\nCopyright (c) 2005-2020 NVIDIA Corporation\r\nBuilt on Mon_Nov_30_19:15:10_Pacific_Standard_Time_2020\r\nCuda compilation tools, release 11.2, V11.2.67\r\nBuild cuda_11.2.r11.2/compiler.29373293_0\r\n', stderr=b'')

有什么辦法可以讓上面的 output 更具可讀性?

嘗試info = list(subprocess.run(["nvcc","--version"],capture_output=True))

我收到以下錯誤消息

在此處輸入圖像描述

嘗試這個:

#first store your output in a list like this:

info = list(subprocess.run(...))

#then format your output and print it:

x = '''
command: {0}
statuscode: {1}
output:
{2}
error : 
{3}
'''

print(x.format("".join(info.args), info.returncode, info.stdout, info.sterr))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM