在文本中读取整个文件而不是Python中的行?

时间:2013-10-12 19:48:45

标签: python

如何将整个文本文件作为数据块或字符串读取? 我不想逐行读取文件而是将整个文件作为文本读取并查找某些单词的计数。这样做的方法是什么?

4 个答案:

答案 0 :(得分:2)

您可以使用文件read()函数“读取一些数据并将其作为字符串返回”。

文档为here

答案 1 :(得分:1)

关于第二个问题,您可能希望使用带有word boundary anchors的正则表达式:

import re
with open("myfile.txt") as infile:
    text = infile.read()
regex = re.compile(r"\bsearchword\b", re.I) # case-insensitive
count = len(regex.findall(text))

答案 2 :(得分:0)

同时使用withopen.read

with open("/path/to/file") as file:
    text = file.read()

with是一个上下文管理器,完成后会自动为您关闭文件。

答案 3 :(得分:0)

您可以逐行阅读,计算每行感兴趣的单词,将结果添加到小计,并在完成后打印总计。如果您正在处理的文件大到足以导致交换,则很方便。