Python:binaryarray中的新行字符

时间:2013-09-24 04:16:51

标签: python python-3.x binary contains

我想测试二进制数组b'volume\n1'是否包含换行符"\n" 我怎么做?我测试了'\n' in word"\n" in word,两者都给出了同样的错误。

TypeError: Type str doesn't support the buffer API

3 个答案:

答案 0 :(得分:1)

基本上,bytearray是一个可变的小整数数组,而string的类型为string,因此您无法询问它是否包含字符串文字。

尝试 ord('\n')

在单词中,ord是一个函数,它将大小为1的string转换为char的ascii,这是一个整数。

出于同样的原因,您无法word[1] = 'a'word[1] = b'a',但您可以执行word[1] = ord('b')word[1] = b'a'[0]

答案 1 :(得分:1)

b'\n' in b'volume\n1'

(由falsetru提供)

答案 2 :(得分:0)

    >>> a = b"volume\n1"
    >>> "\n" in a
    True
    >>> "\b" in a
    False
    >>> b"\n" in a
    True
    >>>

但是,代码就在这里。