【问题标题】:Python not indexing errors as I expectedPython没有像我预期的那样索引错误
【发布时间】:2015-10-22 08:41:39
【问题描述】:

在解决了一个问题后(感谢@John La Rooy 的回答),我遇到了一个新问题。当我输入时:

import subprocess

output = subprocess.check_output('iwconfig', stderr=subprocess.STDOUT)
print(output[0])

它打印 110,根据我所知道的,这绝对不是它应该的。它应该输出'b',因为这是变量输出中的第一个字符。知道为什么吗?提前致谢。

【问题讨论】:

    标签: python


    【解决方案1】:

    它应该输出'b',因为这是变量输出中的第一个字符。

    错误...没有。

    您看到的可能类似于b'foo'。 “b”不是内容的一部分,它是类型的一部分。特别是 bytes 类型。索引时会产生一个整数。

    3>> bytes((110,))
    b'n'
    3>> bytes((110,))[0]
    110
    

    要么将返回值解码为文本,要么切片而不是使用索引。

    3>> b'n'.decode('utf-8')
    'n'
    3>> b'n'[0:1]
    b'n'
    

    【讨论】:

    • 我试过 output.decode('utf-8') 但没用。我究竟做错了什么?抱歉,我是 python 新手(和一般编程)
    • 有人知道我可以在哪里找到更多相关信息吗?
    猜你喜欢
    • 1970-01-01
    • 2016-06-19
    • 2013-04-11
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多