我正在制作一个小字典应用程序,只是为了学习Python。我有添加单词的功能(只需添加一个检查以防止重复)但我正在尝试创建查找单词的功能。
当我将文字附加到文本文件时,这就是我的文本文件。
{word|Definition}
我可以通过这样做检查这个词是否存在,
if word in open("words/text.txt").read():
但我如何得到这个定义?我假设我需要使用正则表达式(这就是为什么我将它拆分并放在花括号内),我只是不知道如何。
答案 0 :(得分:2)
read()
会读取整个文件内容。你可以这样做:
for line in open("words/text.txt", 'r').readlines():
split_lines = line.strip('{}').split('|')
if word == split_lines[0]: #Or word in line would look for word anywhere in the line
return split_lines[1]
答案 1 :(得分:2)
如果您想要有效的搜索,可以使用字典。
with open("words/text.txt") as fr:
dictionary = dict(line.strip()[1:-1].split('|') for line in fr)
print(dictionary.get(word))
还要尽量避免使用如下语法:
if word in open("words/text.txt").read().
使用上下文管理器(with
语法)确保文件将被关闭。
答案 2 :(得分:0)
获取所有定义
f = open("words/text.txt")
for line in f:
print f.split('|')[1]