python - 子串匹配然后用迭代打印
问题描述
我尝试了很多方法,有时它会得到最后一个已知的匹配,有时它只是在第一个停止,有时它根本不起作用。我的目标是在一个短语中找到每个匹配的单词,如果为真则打印每个短语。我尝试做这样的事情(PSUEDO'ISH)-不要判断代码它只是我在输入时能想到的最好的例子:
f = open("dognames.txt", "r")
key = "Bob"
if key in f:
print line
狗名在文本文件中:
Bob
Bobby
Kitty
Bobbel
Boaban
Cat
输出应该是:
Bob
Bobby
Bobbel
解决方案
关闭,但您忘记循环遍历行
f = open("dognames.txt", "r")
key = "Bob"
for line in f:
if key in line:
print line
此外,您要确保文件在使用后关闭,因此使用这种格式,它实质上为文件创建了一个上下文,并允许文件在执行离开with
语句范围后自行关闭。
with open("dognames.txt", "r") as f:
key = "Bob"
for line in f:
if key in line:
print line
推荐阅读
- html - 为什么使用这个粘性页脚不起作用?
- php - Webhook 在使用 Stripe CLI 和事件触发器进行调试时测试不一致
- android - 如何将图像索引为二维数组(在 Android 上)?
- javascript - 在 JavaScript 中的单个按钮上使用 addEventListener 和 removeEventListener 两次
- javascript - 如何在运行嵌套的for循环javascript时最小化执行时间
- node.js - node.js 中的两个 http 调用
- javascript - 从 background.js 执行 content.js 脚本代码
- r - 在 R 中安装 FIELDimageR 包时出错
- laravel - 如何将变量从刀片文件传递到 laravel 中的控制器?
- activemq - ActiveMQ 缓存 LDAP 管理员无法阅读建议