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

Mic*_*ael 4 python split list python-2.7

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

output = open('new_data.txt', 'a')
output_list = output.strip().split('.')
Run Code Online (Sandbox Code Playgroud)

但是我有一个错误:

AttributeError: 'file' object has no attribute 'strip'
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

注意:我的程序是在Python 2上

Ter*_*ryA 16

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

然后你想要read()的文件:

output = open('new_data.txt', 'r') # See the r
output_list = output.read().strip().split('.')
Run Code Online (Sandbox Code Playgroud)

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

目前您正在使用文件对象(因此错误).


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

with open('new_data.txt', 'r') as output:
    output_list = output.read().strip().split('.')
Run Code Online (Sandbox Code Playgroud)

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