我想从二进制文件中读取前 188 个字节,并检查第一个字符是否为 0x47。代码如下:
import os
fp=open("try.ts","rb")
for i in range(100):
buf=fp.read(188)
if buf[0]=="\x47":
print "OK"
fp.close()
但是它给出了:
if buf[0]=="\x47":
IndexError: string index out of range
我的问题是:
read()函数的返回值类型是什么?- 如何获取字符串或数组中的第一个字符?
请您参考如下方法:
if buf[0]=="\x47":
IndexError: string index out of range
这意味着您的 buf 是空的。您在循环中将其覆盖了 100 次。该文件可能没有 18800 字节。在文件的末尾 read 只返回一个空字符串。您是想将 if 放在 for 中吗?如果是这样,相应地缩进它。
