0

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

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所有条目。

这是怎么回事?我该如何避免这种情况?

4

2 回答 2

4

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

于 2013-10-25T04:09:56.070 回答
1

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

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
于 2013-10-25T04:11:07.723 回答