【问题标题】:post process the output information from subprocess.run in Python在 Python 中对 subprocess.run 的输出信息进行后处理
【发布时间】:2021-05-04 16:41:31
【问题描述】:

我试图在 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'')

有什么方法可以让上面的输出更具可读性?

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

我收到以下错误消息

【问题讨论】:

    标签: python python-3.x subprocess


    【解决方案1】:

    试试这个:

    #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))
    

    【讨论】:

    • 感谢您的回复,但我收到了原帖中显示的错误消息。
    猜你喜欢
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2020-03-04
    相关资源
    最近更新 更多