python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...
[本文出自天外归云的博客园]
脚本功能:在指定的路径下递归搜索,找出指定字符串在文件中出现的位置(行信息)。
用到的python特性:
代码如下:
import os
import sys
__all__ = ['DirPath']
'''
在指定路径下递归查找包含指定字符串的文件
可以指定查找的文件类型category-默认为'.py'
可以指定查找的字符串str-默认为'python'
'''
class DirPath(object):
# 初始化参数查找路径-path
def __init__(self, path):
self.show = self.show()
self.path = path
# 开启func协程的装饰器
def on(func):
def wrapper(*args):
res = func(*args)
next(res)
return res
return wrapper
@on
# 搜索path路径下的python文件
def search(self, target, category):
while True:
path = yield
for entry in os.scandir(path):
if entry.is_file():
if entry.name.endswith(category):
target.send(entry.path)
if entry.is_dir():
self.search(target, category).send(entry.path)
@on
# 找到f文件中包含str的行信息并发送给target
def find_str(self, target, str):
while True:
path = yield
with open(path, "r", encoding='utf-8') as f:
for (name, value) in enumerate(f):
if str in value:
target.send(f"[{path}][{name+1}]:{value}")
@on
# 展示查询结果
def show(self):
while True:
res = yield
print(res)
# 默认在'.py'类型文件中查找字符串-可以指定文件类型category
# 默认查找字符串'python'-可以指定查找字符串str
def code_search(self, category=".py", str="python"):
self.search(self.find_str(self.show, str), category).send(self.path)
if __name__ == '__main__':
path = sys.argv[1]
Dir = DirPath(path)
Dir.code_search(str=sys.argv[2], category=sys.argv[3])
本地运行脚本,搜索结果示例如下:
python之实现循环查看指定路径下的所有文件---os.walk
循环查看指定路径下的所有文件.文件夹,包含隐藏文件注:“.filename” 以点开头的是隐藏文件 import os for cur_path,cur_dirs,cur_files in os.wa ...
Python小代码_15_遍历指定路径下的所有文件和文件夹,并格式化输出文件路径文件名和文件夹名,文件大小,修改时间
遍历指定路径下的所有文件和文件夹,并格式化输出文件路径文件名和文件夹名,文件大小,修改时间 import osimport datetime def print_tree(dir_path): for ...
Python —— 批量替换指定目录下的所有文件中指定字符串
参考:http://blog.csdn.net/zcwfengbingdongguke/article/details/13951527 代码: #!/usr/bin/python import os ...
nodejs 获取指定路径下所有的文件夹名
示例:获取 ./components 下所有的文件夹名称 let components = [] const files = fs.readdirSync('./components') files. ...
封装的方法--读取任何路径下的properties文件中的值
概述:我们在做项目时,经常需要从某个properties文件中读取properties文件中的值.现在我封装了一下方法,直接读取配置文件中的值. 代码如下所示: /** * Created by qi ...
linux下使用grep在当前目录下搜索所有文件中含有的字符串
grep -r yourstr ./ 举例: grep -r sprintf ./ (在当前目录下递归查找含有字符串sprintf的文件)
Linux系统下,在文件中查找某个字符串
在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车. Vim会跳转到第一个匹配.按下n查找下一个,按下N查找上一个. Vim查找支持正则表达式,例如/vim$匹配行尾的" ...
【Lua】关于遍历指定路径下所有目录及文件
关于Lua中如何遍历指定文件路径下的所有文件,需要用到Lua的lfs库. 首先创建一个temp.lua文件,用编辑器打开: 要使用lfs库,首先需要把lfs库加载进来 require("lf ...
java通过文件路径读取该路径下的所有文件并将其放入list中
java通过文件路径读取该路径下的所有文件并将其放入list中 java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...
随机推荐
Android Studio:Failed to resolve ***
更换电脑后,也更新了所有的SDK的tool,仍然报错:Failed to resolve 各种jar包,出现这种问题主要是因为在Android studio中默认不允许在线更新,修改方法如下:
二维RMQ
求二维ST表 ;k<=;k++) ;l<=;l++) ;i<=n;i++) ;j<=m;j++){ <<(l-)),m+),tx=min(n+,i+(<< ...
NOI 银河英雄传说
并查集水题,记录祖先,大小和深度即可,每次用祖先的大小和深度更新后代的深度. #include #include #include &l ...
python3代码
import urllib.request url="http://mm.taobao.com/json/request_top_list.htm?type=0&page=1&quo ...
64位Win2008_VS2012使用ODP.NET遭遇问题和解决办法
原文地址:64位Win2008_VS2012使用ODP.NET遭遇问题和解决办法 最近为使用Oracle11G数据库做个快速开发的小程序,使用64位Win2008+Vs2012环境,结果碰壁连环,幸好 ...
Entity Framework连接postgresql,code first
官方介绍地址 http://www.npgsql.org/ef6/index.html 首先创建一个控制台应用程序 ,本例居于.NETFramework,Version=v4.6.1 安装包 Enti ...
codeforces #530 D(Sum in the tree) (树上贪心)
Mitya has a rooted tree with nn vertices indexed from 11 to nn, where the root has index 11. Each ve ...
NOIP模拟 candy
题目描述 一天,小 DD 决定买一些糖果.他决定在两家不同的商店中买糖果,来体验更多的口味. 在每家商店中都有 nn 颗糖果,每颗糖果都有一个权值:愉悦度,代表小 DD 觉得这种糖果有多好吃.其中,第 ...
asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(一)—— 手把手教你创建第一个三层架构+mvc的asp.net项目
下面开启项目 1. 打开vs2010-文件-新建项目 2. 先创建一个空的解决方案: 选择其他项目类型-visual studio 解决方案-空白解决方案(默认.NET Framework 4),项目 ...
python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...相关推荐
- 【Python学习笔记(二)】使用Pyinstaller将不同路径下的py文件打包成exe可执行文件
** 使用Pyinstaller将不同路径下的py文件打包成exe可执行文件 ** ** 前言 在Windows环境下需要打包一个python项目成exe可执行文件,共有一个主函数BomSoftwar ...
- PHP如何删除一个路径下的所有文件夹和文件教程
PHP如何删除一个路径下的所有文件夹和文件?等资源,欢迎您收藏本站,我们将为您提供最新的PHP如何删除一个路径下的所有文件夹和文件?资源 PHP如何删除一个路径下的所有文件夹和文件?下面本篇文章给大家 ...
- 批处理打开指定路径下的所有文件
需求:批处理打开指定路径下的所有文件 前提:默认各位同学已经熟悉常用的各种批处理命令,本文仅对涉及到的批处理命令做简单的介绍,有需要进一步学习,可查阅网上其它资料.也可通过CMD命令行窗口通过 [命令 ...
- Python碎片化学习教程 @19. 在指定路径下创建.txt文件,并写入内容
代码功能:在指定路径下创建.txt文件,并写入内容 代码如下: file = open("1.txt", "w", encoding="utf8&qu ...
- 安卓加载asset中的json文件_Android中读取asset路径下本地json文件
最近自己写个小demo,用到了assets文件里面的内容.猛的没想起来怎么使用.就记录下来 移动端开发中,和后台的交互方式不外乎json和xml,由于json的轻量级以及易用性,所以现在的交互协议基本 ...
- 获取指定路径下所有PDF文件的总页数
在开发过程中遇见了这样一个问题,某个文件夹下包含了很多PDF文件,现在要统计这些文件的总页数,当然可以逐个打开,然后将页数累加起来,但是相对来说很麻烦,于是写了一个winform的程序,来实现页数的统 ...
- 艺赛旗(RPA)Python:遍历输出某路径下的所有文件和文件夹
艺赛旗 RPA8.0全新首发免费下载 点击下载 http://www.i-search.com.cn/index.html?from=line1 详细内容请参看艺赛旗官网支持栏目:RPA社区 点击链接 ...
- linux防火墙文件路径,防火墙问题 Linux系统 /etc/sysconfig/路径下无iptables文件
虚拟机新装了一个CentOs7,然后做防火墙配置的时候找不到iptables文件,解决方法如下: 因为默认使用的是firewall作为防火墙,把他停掉装个iptable systemctl stop ...
- php 删除文件夹及文件夹,php删除一个路径下的所有文件夹和文件的方法
php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用. 也适合在thinkphp中清理缓存,在thinkphp中 ...
最新文章
- 解决LaTex中插入Visio画图有多余边框的问题
- Chrome控制台用法
- HBase性能优化总结
- 关于表情符号与UTF-8的探讨
- 一个老干部对即将从政的儿子的赠言
- JHipster简介
- android源码下编译自有工程通用make模板
- 数据库常见导入文件方法
- html怎么把网址设为首页,怎样让网站设为首页和加入收藏
- 一个页面中使用多个iframe导致在ie中假死问题的解决方法
- Android中手写签名的实现
- Ansible playbook
- C语言去除图像的离散区域,Visual C++数字图像实用工程案例精选
- Calendar 根据指定日期 获取月的第几周
- 从事IT业一个8年老兵转行前的自我总结2——从《易经》说开来
- 利用java创建Excel表格步骤
- SAP WM初阶之事务代码LS22 - Change Quant
- C语言qsort中的cmp函数定义
- STM32 cubemx 开发系列文章(一)认识cubemx
- 学数据结构堆襸_GBK编码
热门文章
- 最后通牒!这所985大学通知近百名硕博研究生限期回校答辩,逾期退学!
- 在线GPU分布式实验环境+企业级项目,轻松斩获offer
- 如何看待 2020 届校招算法岗「爆炸」的情况?
- 有人用这个表情包,被腾讯起诉了!
- 张一鸣、王欣、罗永浩三家对垒微信,张小龙如何应对?
- 【每日一算法】两数相加
- 解决Python通过pip安装报错:(有图)Could not install packages due to an EnvironmentError: HTTPSConnectionPool
- 利用python爬取IP地址归属地等信息!
- 编程——无序数组中找到最大乘积(python)
- Mysql 索引 事物