在Python中,可以使用以下代码来打印文件中特定单词前后的5个单词:
def print_words_around(filename, target_word):
with open(filename, 'r') as file:
words = file.read().split()
for i in range(len(words)):
if words[i] == target_word:
start_index = max(0, i - 5)
end_index = min(len(words), i + 6)
surrounding_words = words[start_index:end_index]
print(' '.join(surrounding_words))
这段代码定义了一个名为print_words_around
的函数,它接受两个参数:filename
表示要读取的文件名,target_word
表示目标单词。
函数首先使用open
函数打开文件,并使用read
方法读取文件内容。然后,使用split
方法将文件内容分割成单词列表。
接下来,函数使用一个循环遍历单词列表,当遇到目标单词时,记录当前索引i
。然后,根据要求打印目标单词前后的5个单词。
为了确保不越界,使用max
和min
函数来限制索引的范围。最后,使用join
方法将单词列表转换为字符串,并使用空格分隔单词。
要使用这个函数,只需调用print_words_around
并传入文件名和目标单词作为参数。例如:
print_words_around('example.txt', 'specific')
请注意,上述代码仅适用于简单的文本文件。如果要处理更复杂的文件格式,可能需要使用其他库或方法来解析文件内容。
领取专属 10元无门槛券
手把手带您无忧上云