python如何实现 文件中查找上/下一个字符串 如何用Python语言实现在一个文件中查找特定的字符串

python \u600e\u6837\u5728\u6587\u4ef6\u4e2d\u67e5\u627e\u6307\u5b9a\u7684\u5b57\u7b26\u4e32

\u7b2c\u4e00\u79cd\u60c5\u51b5\uff1a\u5728python\u7f16\u8f91\u5668\u4e2d\u627e\u4e00\u4e2a\u5b57\u7b26\u4e32string
ctrl+f
\u7b2c\u4e8c\u79cd\u60c5\u51b5\uff1a\u5224\u65ad\u5143\u7ec4\u6216\u5217\u8868\u5185\u662f\u5426\u5305\u542b\u5b57\u7b26\u4e32\uff1astring in list

targetstr \u4e3a\u7279\u5b9a\u5b57\u7b26\u4e32
filename\u4e3a\u6587\u4ef6\u540d

with open\uff08filename\uff0c'r'\uff09as fp:
for line in fp:
if targetstr in line:
print line

\u8fd9\u6837\u5c31\u627e\u5230\u7279\u5b9a\u5b57\u7b26\u4e32\u6240\u5728\u7684\u884c\u5185\u5bb9\u4e86

用find()函数就可以
比如:
fpr=open("你的文件名")
n=0
for line in fpr:
n+=1
if line.find("12efde")!=-1:
pirnt n

你要的是这样话,你可以先把数据读到列表中,然后用for循环来实现,顺序查找就i增加,查找上一个i减少,查找到后用break结束就行了,百万行的确有点到,读到文本不知道会不会卡,你试下看,如果你会用数据库存储数据的话会好些

百万行不是很多啊。大约百兆左右,直接全部读入内存。read(),然后split("\n"),然后按行find就可以了。

当然你也可以边readline边用find。找到第一行,输出行号就可以。

有正则吧。pattern = r"12efde",用match可以匹配到,并获取当前位置

扩展阅读:python file文件怎么打开 ... python可执行文件怎么弄 ... python入门教程 ... python 文件处理 ... python一直找不到文件 ... python读取文件每一行 ... python打开文件的方法 ... 开根号怎么在python中实现 ... python实现copy文件夹功能 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网