在目录中查找指定的字符串
来源:互联网 发布:搜索引擎优化推广 编辑:程序博客网 时间:2024/06/05 09:50
# -*- coding: cp936 -*-
'''在python中查找字符串,如果文件中包含指定的字符串,
则将此字符串所在的行号和文件名称打印出来,不支持正则表达式,
演示了walk使用方法;
演示了fileinput使用方法'''
import os
# 使用walk来遍历目录
def processFiles(arg,dirpath,files):
'''walk函数的回调函数,
查找满足条件的文件,使用fileinput对文件进行搜索,
如果查找到关键字,打印出行号和文件名称'''
for f in files:
fname = os.path.join(dirpath,f)
if(os.path.isfile(fname)):
if os.path.splitext(fname)[1] == '.py':
import fileinput
import sys
# 使用fileinput来遍历文件,如果有Tk则将此【行号:文件名称】插入搜索结果列表框
for line in fileinput.input(fname):
# 在这里使用vTextFind,查找指定的字符串
if line.find(root.vTextFind.get()) != -1:
root.lbResults.insert(END,"[%d]:[%s]" % (fileinput.lineno(),fname))
def updateListbox(master):
'''搜索按钮的事件处理函数,
这个函数调用walk来遍历目录,并将搜索结果插入列表框'''
print master.vDirSearched.get()
master.lbResults.delete(0,END)
os.path.walk(master.vDirSearched.get(),processFiles,'')
from Tkinter import *
root = Tk()
# 创建搜索路径,并绑定变量,默认路径为当前'.'
Label(root,text = 'Directory to be searched').grid(row = 0,column = 0)
root.vDirSearched = StringVar()
root.vDirSearched.set('.')
root.etDirSearched = Entry(root,textvariable = root.vDirSearched)
root.etDirSearched.grid(row = 0,column = 1)
# 创建要搜索的字符串,默认搜索为'Tk'
Label(root,text = 'text to find').grid(row = 1,column = 0,stick = W)
root.vTextFind = StringVar()
root.vTextFind.set('Tk')
root.etTextFind = Entry(root,textvariable = root.vTextFind)
root.etTextFind.grid(row = 1,column = 1)
# 创建搜索按钮
root.btSearch = Button(root,
text = 'Search',
command = lambda
arg1 = root:
updateListbox(arg1)
)
root.btSearch.grid(row = 2,column = 0,columnspan = 2,stick = E + W)
# 创建搜索结果列表
root.lbResults = Listbox(root)
root.lbResults.grid(row = 3,column = 0,columnspan = 2,stick = E + W + N + S)
root.mainloop()
'''在python中查找字符串,如果文件中包含指定的字符串,
则将此字符串所在的行号和文件名称打印出来,不支持正则表达式,
演示了walk使用方法;
演示了fileinput使用方法'''
import os
# 使用walk来遍历目录
def processFiles(arg,dirpath,files):
'''walk函数的回调函数,
查找满足条件的文件,使用fileinput对文件进行搜索,
如果查找到关键字,打印出行号和文件名称'''
for f in files:
fname = os.path.join(dirpath,f)
if(os.path.isfile(fname)):
if os.path.splitext(fname)[1] == '.py':
import fileinput
import sys
# 使用fileinput来遍历文件,如果有Tk则将此【行号:文件名称】插入搜索结果列表框
for line in fileinput.input(fname):
# 在这里使用vTextFind,查找指定的字符串
if line.find(root.vTextFind.get()) != -1:
root.lbResults.insert(END,"[%d]:[%s]" % (fileinput.lineno(),fname))
def updateListbox(master):
'''搜索按钮的事件处理函数,
这个函数调用walk来遍历目录,并将搜索结果插入列表框'''
print master.vDirSearched.get()
master.lbResults.delete(0,END)
os.path.walk(master.vDirSearched.get(),processFiles,'')
from Tkinter import *
root = Tk()
# 创建搜索路径,并绑定变量,默认路径为当前'.'
Label(root,text = 'Directory to be searched').grid(row = 0,column = 0)
root.vDirSearched = StringVar()
root.vDirSearched.set('.')
root.etDirSearched = Entry(root,textvariable = root.vDirSearched)
root.etDirSearched.grid(row = 0,column = 1)
# 创建要搜索的字符串,默认搜索为'Tk'
Label(root,text = 'text to find').grid(row = 1,column = 0,stick = W)
root.vTextFind = StringVar()
root.vTextFind.set('Tk')
root.etTextFind = Entry(root,textvariable = root.vTextFind)
root.etTextFind.grid(row = 1,column = 1)
# 创建搜索按钮
root.btSearch = Button(root,
text = 'Search',
command = lambda
arg1 = root:
updateListbox(arg1)
)
root.btSearch.grid(row = 2,column = 0,columnspan = 2,stick = E + W)
# 创建搜索结果列表
root.lbResults = Listbox(root)
root.lbResults.grid(row = 3,column = 0,columnspan = 2,stick = E + W + N + S)
root.mainloop()
- 在目录中查找指定的字符串
- 在目录中查找指定的字符串
- java实现在指定目录中查找字符串
- Python 在目录中查找指定的字符串 python完成分析log的工作
- window查找指定字符串在当前目录下的所有文件中是否存在
- java实现在指定目录下的特定文件中查找特定字符串集
- LINUX 在 指定目录下,包括子目录,查找文件中内容匹配的字符串
- 在指定路径中查找指定字符串
- 查找指定字符串在原始字符串中出现的次数
- Objective C在目录中查找指定的文件
- 在指定目录下的文件中查找关键字
- Linux在指定目录下查找包含指定字符串的文件
- Linux在指定目录下查找包含指定字符串的文件
- Linux在指定目录下查找包含指定字符串的文件
- linux中查找指定字符串并输出到指定目录
- 在一句话中查找指定字符串出现的次数
- 在字符串中查找指定字符的位置
- 从目录中查找指定后缀文件内的指定字符串
- 珊瑚虫事件
- 相见恨晚--jQuery简述
- Linux操作系统下的一些简单网络配置命令
- perl学习心得之五
- C语言操作大文件
- 在目录中查找指定的字符串
- linux常见命令
- 批处理的一个小东西
- 每日5条语法,伴你能力考好 No.5
- 人生八宝
- GeoTools学习
- 手把手教你如何扩展GridView之自带CheckBox
- java编程规则
- class之間有三種關係,inheritance,implementation和association