为了账号安全,请及时绑定邮箱和手机立即绑定

从文件中提取特定单词

从文件中提取特定单词

不负相思意 2021-12-26 14:46:00
我正在分析一些文本文件,每次在文件中找到该词时,我都想提取一个特定的词。想象一下,我在文件中有“体育”,然后我想根据列表提取单词“体育”。我有以下代码:content = ['Sports', 'Nature', 'Football']path = filenamewith open(path) as auto:    for line in auto:        if any(x.lower() in line.lower() for x in content):            print(line)我的文本文件有以下内容:Sports TV is the home of football videos. Complex game to follow.home of football用我的代码打印所有带有“体育”和“足球”的行:Sports TV is the home of football videos. home of football但我想看到以下结果:Sportsfootball如何仅打印 List 上的单词而不是所有行?
查看完整描述

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

列表.txt:


Sports TV is the home of football videos. 

Complex game to follow.

home of football

因此:


content = ['Sports', 'Nature', 'Football']

path = 'list.txt'


with open(path) as auto:

    print([[x.lower() for x in content if x.lower() in line.lower()] for line in auto])

输出:


[['sports', 'football'], [], ['football']]

由于:


第 1 行有sports和football


第 2 行没有来自内容列表的匹配元素


第 3 行有 football


查看完整回答
反对 回复 2021-12-26
?
函数式编程

TA贡献1807条经验 获得超9个赞

您目前正在打印整行


尝试:


content = ['Sports', 'Nature', 'Football']

path = filename

with open(path) as auto:

    for line in auto:

        for x in content:

            if x.lower() in line.lower():

                print(x)


查看完整回答
反对 回复 2021-12-26
  • 2 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信