Python 2:AttributeError:'file'对象没有属性'strip'

时间:2013-07-19 09:49:56

标签: python list split

我有一个名为 new_data.txt .txt 文档。本文档中的所有数据均以点分隔。我想在python中打开我的文件,将其拆分并放入列表中。

output = open('new_data.txt', 'a')
output_list = output.strip().split('.')

但我有一个错误:

AttributeError: 'file' object has no attribute 'strip'

我该如何解决这个问题?

注意:我的程序在Python 2上

1 个答案:

答案 0 :(得分:16)

首先,您要以读取模式打开文件(将其置于追加模式)

然后你想要read()文件:

output = open('new_data.txt', 'r') # See the r
output_list = output.read().strip().split('.')

这将获得文件的全部内容。

目前您正在处理文件对象(因此出错)。


更新:似乎这个问题从最初的时间开始就收到了很多观点。打开文件时,with ... as ...结构应该像这样使用:

with open('new_data.txt', 'r') as output:
    output_list = output.read().strip().split('.')

这样做的好处是不需要显式关闭文件,如果控制序列中出现错误,python会自动关闭文件(而不是文件在出错后保持打开状态)