5

我有一个名为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 上

4

1 回答 1

18

首先,你想以读取模式打开文件(你有它在追加模式)

然后你想要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 会自动为您关闭文件(而不是文件在出错后保持打开状态)

于 2013-07-19T09:50:48.050 回答