【发布时间】:2016-06-12 14:27:25
【问题描述】:
我正在尝试从一个长文本文件中提取完整的句子,并将它们作为字符串添加到 Python 2.7 中的列表中。我想自动执行此操作,而不仅仅是在列表中剪切和粘贴。
这是我所拥有的:
from sys import argv
script, filename = argv # script = alien.py; filename = roswell.txt
listed = []
text = open(filename, 'rw')
for i in text:
lines = readline(i)
listed.append(lines)
print listed
text.close()
没有加载到列表中。
【问题讨论】:
-
for i in text已经读取了文件中的每一行,readline(i)是什么(以及它来自哪里)?如果你只想要所有的行,为什么不listed = text.readlines()?另外,你应该使用 "context manager"with open(...) as text:. -
定义完整的句子。另外,向我们展示
readline的功能。它不是标准库的一部分。但是,有一种方法readline可以在类文件对象上调用。提供您的文本文件(或其中的一部分)的内容以及您想要获取的列表 -
那么您的文件中的行是否已经完成了句子,您只想逐行阅读文件,还是还有更多内容? (比如检测句子何时结束……)
-
您应该至少显示一些输入文件。正如@jonrsharpe 指出的那样, i 是行,而行 - readline(i) 没有意义。你也用'rw'打开你的文件,这是错误的。模式是“r”、“w”、“a”和其他一些,但不是“rw”。而且您没有写入文件
-
谢谢。该文件是 .pdf 格式的一本书的八章。