我在python3.5中打开了一个非常大的二进制文件file1.py:with open(pathname, 'rb') as file:
for i, line in enumerate(file):
# parsing here
但是,我自然会得到一个错误,因为我在二进制模式下读取文件,然后创建一个字节列表。然后使用for循环,将字符串与字节进行比较,此时代码失败。在
如果我读的是单行诗,我会这样做:
^{pr2}$
但是,我使用的是for index, lines in enumerate(file):。这种方法正确吗?我要解码下一个对象吗?在
下面是我正在运行的实际代码:with open(bam_path, 'rb') as file:
for i, line in enumerate(file):
line_data=pd.DataFrame({k.strip():v.strip()
for k,_,v in (e.partition(':')
for e in line.split('\t'))}, index=[i])
错误就在这里:Traceback (most recent call last):
File "file1.py", line 18, in
for e in line.split('\t'))}, index=[i])
TypeError: a bytes-like object is required, not 'str'