当前位置:首页 » Python入门 » Python基于gevent实现文件字符串查找器

Python基于gevent实现文件字符串查找器

190°c 2021年02月19日 08:19 Python入门 0条评论
  移步手机端

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章

1、递归遍历目录下一切文件并经过finder函数定位指定格局字符串

2、用来查找字符串的finder函数是自己界说的,这儿界说了一个ip_port_finder经过正则表达式查找ip:port格局(粗匹配:数字.数字.数字.数字:数字)的字符串

3、用gevent来完结协程并发完结耗时使命

代码如下:

# -*- coding: utf-8 -*-
import re
from os.path import join
from os import walk
from gevent import monkey
import gevent

monkey.patch_all()


def ip_port_finder(str: str) -> bool:
  pattern = re.compile(r".+\d+\.\d+\.\d+\.\d+:\d+")
  matchObj = pattern.match(str)
  if matchObj:
    print("------")
    print(f"发现方针:{matchObj.group(0)}")
    return True
  else:
    return False


def find_in_file(file_path, finder):
  with open(file_path, "r", encoding="utf-8", errors='ignore') as f:
    for (num, value) in enumerate(f):
      if finder(value):
        print(f"文件途径:{file_path}")
        print(f"地点行数:{num}")


find_in_path_recursively = lambda path, finder: gevent.joinall(
  [gevent.spawn(find_in_file, join(root, file_name), finder) for root, directories, f_names in walk(path) for
   file_name in f_names])

if __name__ == '__main__':
  path = "E:\dev_codes\xxx"
  find_in_path_recursively(path, ip_port_finder)

以上便是本文的全部内容,期望对我们的学习有所协助,也期望我们多多支撑python学习网

欢迎阅读本文,希望本文对您有所帮助!

本文链接:http://www.cqrxzs.com/2452.html

版权声明:本文为原创文章,版权归 雨凡教育 所有,欢迎分享本文,转载请保留出处!

本文标签:

百度推荐获取地址:http://tuijian.baidu.com/,百度推荐可能会有一些未知的问题,使用中有任何问题请直接联系百度官方客服!

评论(0) 赞助本站

发表评论:


【顶】 【踩】 【好】 【懵】 【赞】 【表情】

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

推荐阅读
04月21日

python完成机器人卡牌

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 3984次

详细介绍 这一事例关键利用turtle库完成依据键入动态性展现不一样智能机器人的图象和属性信息。 编码一部分非原創仅仅干了一丝改动和梳理促使更易阅读文章。 图片和文档資源请浏览git仓库获得:连接详细地址 涉及到下列知识要点: 1.文档载入 2.字典 3.turtle库的应用 4.操纵句子  完成的实际效果 编码 #!/bin/python3 from turtle import * from random import choice screen = Screen() screen.se...

04月21日

Python中断多种循环的思路小结

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 3254次

I. 跳出单循环 无论是什么计算机语言,都是有很有可能会有跳出循环的要求,例如枚举类型时,寻找一个符合条件的数就停止。跳出单循环是非常简单的,例如: for i in range(10): if i > 5: print i break 殊不知,大家有时会必须跳出多种循环系统,而break只可以跳出一层循环系统,例如: for i in range(10): for j in range(10): if i j > 5:...

04月19日

python3 mmh3安装及使用方法

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 304次

mmh3安装方法 hach方式关键有MD、SHA、Murmur、CityHash、MAC等几类方式。mmh3全过程murmurhash3,是一种非数据加密的hash算法,常见于hadoop等分布式系统情景中,在anaconda中安裝应用指令 pip install mmh3 难题1 出错以下: Microsoft Visual C 14.0 is required 表明缺乏C 14的库文件,挑选登录网站  https://visualstudio.microsoft.com/do...

04月19日

python脚本完成音频m4a格式转成MP3格式的实例代码

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 287次

序言 群内见到有些人了解:谁会用python将微信音频文件后缀m4a格式转成mp3格式,果断回了句:我能。 随后就私底下找话题了 解决方案详细介绍以下: 专用工具:windows系统软件,python2.7,变换库ffmpeg 安裝ffmpeg库:免费下载相匹配电脑操作系统版本号 https://ffmpeg.zeranoe.com/builds/ 我这里用的是window 64位 这儿因为途径难题,也没有把ffmpeg添加到系统软件系统变量中,因此我就用的是相对路径 C:/Users...

04月19日

python3中的eval和exec的区别与联络

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 279次

看过许多 在网上的方式,载入文档后打开文件看的确不会再是错码,可是文本文件中读取json时发觉了错码,可能是读文档默认设置的编号格式不对。下边读写能力方式可行。 留意,ensure_ascii=False能够确保不容易以ascii格式编号,确保中文的一切正常变换: import json with open('test.json', 'w', encoding='utf-8') as f: f.write( json.dumps( known_dict,...

04月19日

Django Docker容器化部署之Django-Docker当地部署

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 288次

本章将在本地搭建一个容器化的 Django 项目,感受 Docker 的运作方式。 前期准备 开发环境 虽然有基于 Windows 的 Docker 版本,但各方面兼容做得都不太好(安装也麻烦些),因此建议读者在学习前,自行安装好 Linux 或 Mac 系统。当然你愿意折腾的话,在 Windows 上搞也行。 别担心,以后开发 Django 项目仍然可以在 Windows 下进行,仅仅是开发时不使用 Docker 而已。 软件安装 Docker:学习 Docker 当然要安装 Docker...

04月19日

python编写猜数字小游戏

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 279次

文中案例为大伙儿共享了python撰写猜数字小游戏的实际编码,供大伙儿参照,具体内容以下 import random secret = random.randint(1, 30) guess = 0 tries = 0 print("我的名字叫阴径,我有一个密秘数字!") print("数字从1到30,你仅有6次机遇!") while int(guess) != secret and tries < 6: print("你猜猜的数字是?") guess = input() if...

您好,欢迎到访网站!
  查看权限