python - 在文件中搜索单词并取整行
问题描述
我运行这个程序基本上是为了获取我输入的网站的页面源代码。它将它保存到一个文件中,我想要的是它寻找一个特定的字符串,它基本上是电子邮件的@。但是,我无法让它工作。
import requests
import re
url = 'https://www.youtube.com/watch?v=GdKEdN66jUc&app=desktop'
data = requests.get(url)
# dump resulting text to file
with open("data6.txt", "w") as out_f:
out_f.write(data.text)
with open("data6.txt", "r") as f:
searchlines = f.readlines()
for i, line in enumerate(searchlines):
if "@" in line:
for l in searchlines[i:i+3]: print((l))
解决方案
您可以使用 regex 方法findall
查找文本内容中的所有电子邮件地址,并file.read()
使用file.readlines()
. 将所有内容放在一起而不是分成单独的行。
例如:
import re
with open("data6.txt", "r") as file:
content = file.read()
emails = re.findall(r"[\w\.]+@[\w\.]+", content)
之后可能会强制转换为唯一性,然后根据需要保存到文件中。
推荐阅读
- javascript - javascript mongoose 获取 arrayFilter 数组索引的值并用作值
- security - 我可以让虚拟用户成为 Sitecore 管理员吗?
- javascript - 从键数组中查找对象数组
- python - Imshow/Matshow 在轴内收缩
- javascript - Nodejs 串口不能同时运行两个代码
- c# - 我在制作脚本以淡入/淡出 Unity c# 中的精灵列表时遇到问题
- java - 如何使用 https 将 spring-config-server 与 vertx 一起使用?
- elasticsearch - 提升 word2vec 相关词以改善 ElasticSearch 结果
- arrays - 获取数组的值而不是索引
- node.js - 配置 NbAuthJWTInterceptor 以正确格式化 JWT 令牌的问题