首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解码ipconfig的输出

无法解码ipconfig的输出
EN

Stack Overflow用户
提问于 2018-11-05 18:55:20
回答 3查看 164关注 0票数 0

我想将ipconfig命令的输出分配给字符串,但无法解码。

当我尝试这样做时:

代码语言:javascript
复制
import subprocess
out = subprocess.check_output("ipconfig",shell = True)
out = out.decode('utf-8')
print(out)

我得到了这个错误:

代码语言:javascript
复制
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa7 in position 192: invalid start byte

是什么导致了这个问题?

EN

回答 3

Stack Overflow用户

发布于 2018-11-05 19:12:36

看起来您在语言环境方面遇到了问题。尝试将LANG=C环境变量传递给子进程。

代码语言:javascript
复制
out = subprocess.check_output("ipconfig", env={"LANG": "C"}, shell = True)
票数 0
EN

Stack Overflow用户

发布于 2018-11-06 21:07:20

我找到了一个解决方案。它现在是有效的。我定义了一个函数,一个接一个地对字节进行编码。

代码语言:javascript
复制
def cool_decode(rose):
    output = ""
    for i in rose:
        output = output + chr(i)
    return output
票数 0
EN

Stack Overflow用户

发布于 2018-11-05 19:14:30

看起来您正在尝试将十六进制编码为字符串。在我的例子中(macOS),ipconfig需要添加如下命令:

waitall、getifaddr、ifcount、getoption、getpacket、getv6packet、set、setverbose

尝试:

代码语言:javascript
复制
import subprocess
out = subprocess.check_output("ifconfig",shell = True)
out = out.decode('utf-8')
print(out)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53152982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档