Python检查-查找文件中最后一次出现的关键字匹配,然后检查正则表达式
我有一个文本文件: flower.txt 文件中的内容:Python检查-查找文件中最后一次出现的关键字匹配,然后检查正则表达式,python,Python,我有一个文本文件: flower.txt 文件中的内容: flower white flower red flower green flower blue Have some other text to the end of file. 我想grep行,这是单词“flower”的最后一次出现,并验证行是否为“flower blue” 不确定哪个函数有助于执行此操作 import re with open('flower.txt', "r") as f: re.findhelp 给你: wi
flower white
flower red
flower green
flower blue
Have some other text to the end of file.
我想grep行,这是单词“flower”的最后一次出现,并验证行是否为“flower blue”
不确定哪个函数有助于执行此操作
import re
with open('flower.txt', "r") as f:
re.find
help 给你:
with open('temp.txt','w') as f:
f.write('''\
flower white
flower red
flower green
flower blue
Have some other text to the end of file.''')
with open('temp.txt') as f:
flowerlines = [i.strip() for i in f.readlines() if i.startswith('flower')]
if flowerlines:
print(flowerlines[-1] == 'flower blue')
else:
print('No flowers found.')
或者你可以这样说:
searchW = 'flower blue'
with open('temp.txt') as f:
flowerlines = next((i == searchW for i in f.read().split('\n')[::-1]
if i.startswith('flower')),'No flowers')
print(flowerlines)
如果您需要对此进行优化(很可能您不应该这样做),您可以查看以下内容:在文件中循环,如果该行与
flower
匹配,则将其分配给变量。在循环结束时,变量包含最后出现的flower
。然后,您可以测试它是否匹配花蓝色
。无需使用regexp<代码>“flower”在第行中会告诉你单词是否在那里。你能帮我做一下循环吗,我做不到。@SaiKiran你在问谁?@SaiKiran展示你做了什么,然后我们可以帮你修复它。这就是你学得更好的方法。太好了。谢谢,但是如果我在flower blue之后看到任何flower关键字,代码应该会失败。但上面这句话仍然是对的。@SaiKiran你是什么意思?此代码应该读取所有行,并且只保存以flower开头的行。在这之后,它采取最后一行,并检查是否是花蓝色(打印为真)。如果它不是花蓝色(打印错误),如果没有花。。。不打印花。我的意思是,如果我有另一行在文件末尾显示花黄色,它应该失败。最后一个应该始终是花蓝色。@SaiKiran是的,如果是花黄色,它将失败。我们用花蓝来验证它,但仍然很困惑。但我们将努力获得准确的输出。