Python将文本文件读入一个单词数组中
Python将文本文件读入一个单词数组中
为了学习Python,我正试图构建一个可以对文件进行拼写检查的应用程序。
我发现在最基本的用法中,SpellChecker库可以验证已知/未知单词数组中的单词:
from spellchecker import SpellChecker spell = SpellChecker() spell['morning'] # True 'morning' in spell # True # 找出那些在字典中找到的单词 spell.known(['morning', 'hapenning']) # {'morning'} # 找出那些在字典中未找到的单词 spell.unknown(['morning', 'hapenning']) # {'hapenning'}
由于我想要验证整个文件,所以我想添加一个函数来读取文本文件并将其转换为要检查的单词数组:
def readFile(fileName): fileObj = open(fileName, "r") # 以读取模式打开文件 words = fileObj.read().splitlines() # 将文件放入数组中 fileObj.close() return words
不幸的是,上述函数将整行(而不是单词)放入数组中。
我尝试过:
words = fileObj.read().splitlines().split()
但split()函数无法应用于splitlines()函数。
有没有办法实现这个?
Python读取文本文件并将其转化为单词数组的问题是由于以下原因而出现的:在读取文件时,每一行都需要调用split()方法进行分割。解决方法是使用read()方法读取文件内容,并使用splitlines()方法将其分割成行的列表。然后,遍历每一行,使用split()方法将每一行分割成单词,并使用extend()方法将单词添加到单词数组中。
具体的解决方法如下所示:
words = [] lines = fileObj.read().splitlines() for line in lines: words.extend(line.split())
以上代码中,我们首先创建一个空的单词数组words。然后,使用read()方法读取文件内容,并使用splitlines()方法将其分割成行的列表lines。接下来,我们遍历每一行,使用split()方法将每一行分割成单词,并使用extend()方法将单词添加到单词数组words中。
通过以上的解决方法,我们可以将文本文件读取为单词数组,方便后续的处理和分析。