Python 实时打印 ping 命令输出解决 UnicodeDecodeError 错误
这个错误通常是因为在解码过程中遇到了无效的字节序列。为了解决这个问题,可以尝试使用 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,你也可以根据需要选择其他的编码方式。
原文地址: https://www.cveoy.top/t/topic/qyuj 著作权归作者所有。请勿转载和采集!