这个错误通常是因为在解码过程中遇到了无效的字节序列。为了解决这个问题,可以尝试使用 subprocess 模块来运行命令,并将其输出编码为 UTF-8。

以下是一个示例代码,演示如何运行命令并实时打印其输出:

import subprocess

def run_command(command):
    process = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
    while True:
        output = process.stdout.readline()
        if output == b'' and process.poll() is not None:
            break
        if output:
            print(output.decode('utf-8').strip())

run_command('ping 1.1.1.1')

这个代码会调用 subprocess.Popen() 来运行命令,并从其标准输出中读取每一行。然后,我们将每一行输出解码为 UTF-8,并打印出来。

请注意,这里的解码方式是 UTF-8,你也可以根据需要选择其他的编码方式。

Python 实时打印 ping 命令输出解决 UnicodeDecodeError 错误

原文地址: https://www.cveoy.top/t/topic/qyuj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录