在阅读文本文件时,为什么我会在每行前面找到b'?

时间:2013-10-25 04:07:38

标签: python file-io

不确定这里发生了什么。我有一个包含以下内容的文本文件:

1999,3,Rep Armey, Richard K.,[TX-26],0
1999,4,Rep Armey, Richard K.,[TX-26],0
1999,5,Rep Armey, Richard K.,[TX-26],0
1999,6,Rep Hyde, Henry J.,[IL-6],0
1999,7,Rep Talent, Jim,[MO-2],11,Rep DeMint, Jim,[SC-4],...
...

然后我在python 3.3中使用这段代码阅读它:

with open(bill_file_name,'rb') as input_file:
    lines=input_file.readlines()

for line in lines:
    line_list=str(line).split(',')
    session=line_list[0]

当我print(session)时,我得到b'1999所有条目。

发生了什么事?我该如何避免这种情况?

2 个答案:

答案 0 :(得分:4)

这可能是因为您以二进制模式打开文件 试试open(bill_file_name,'r')

答案 1 :(得分:1)

那是因为您在阅读时启用了b(二进制)选项。使用以下内容。

with open('a.txt', 'r') as inp:
    lines = inp.readlines()

for line in lines:
    line_list=str(line).split(',')
    session=line_list[0]


>>> print(session)
1999