python文本搜索
1. 如何用python写一个文件搜索器
好好看一下OS模块,比如用os.walk()来遍历文件夹里的所有文件,模糊判断是否存在与需要搜索的文件同名的文件
2. python 文本文件中查找指定的字符串
编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。
import os
class SearchFile(object):
def __init__(self,path='.'):
self._path=path
self.abspath=os.path.abspath(self._path) # 默认当前目录
def findfile(self,keyword,root):
filelist=[]
for root,dirs,files in os.walk(root):
for name in files:
fitfile=filelist.append(os.path.join(root, name))
#print(fitfile)
print(os.path.join(root, name))
#print(filelist)
print('...........................................')
for i in filelist:
if os.path.isfile(i):
#print(i)
if keyword in os.path.split(i)[1]:
print('yes!',i) # 绝对路径
#else:
#print('......no keyword!')
def __call__(self):
while True:
workpath=input('Do you want to work under the current folder? Y/N:')
if(workpath == ''):
break
if workpath=='y' or workpath=='Y':
root=self.abspath # 把当前工作目录作为工作目录
print('当前工作目录:',root)
dirlist=os.listdir() # 列出工作目录下的文件和目录
print(dirlist)
else:
root=input('please enter the working directory:')
print('当前工作目录:',root)
keyword=input('the keyword you want to find:')
if(keyword==''):
break
self.findfile(keyword,root) # 查找带指定字符的文件
if __name__ == '__main__':
search = SearchFile()
search()
3. 跪求!用python对文本文件的内容查找
python3.3代码
importsys
reader=open('scores.txt')
line=reader.readline()#读取第一行数据
scores=[]#放分数值的数值
stander=0#及格人数
whileline!=''andline!=None:#循环读取数据行
tempScore=line.split('')[1].replace(' ','')#将姓名和成绩分开,并取分数
scores.append(tempScore);#将得到的分数添加到数组中
iffloat(tempScore)>=60:#记录大于60分的成绩
stander+=1
line=reader.readline()
reader.close()
print(scores)
print(stander)
4. python搜索文本文件中的中文词汇并输出词汇所在行的内容
for lnum, line in enumerate(open('ur path')):
if 'key' in line:
print(lnum, line)
5. 怎么用python写一个字符串搜索和定位工具
python的正则表达式模块就可以做到。
导入模块:
import re
匹配:
re.search(正则表达式, 字符串)
6. python如何搜索字符串
如果都是select * from tablename limit 这种格式的,可以通过对from的定位确定表格的名称 import string a="select a from ssa limit 0,10" b=string.split(a," ") print b c=b.index("from") print c print b[c+1] 程序比较简单, b的值是['select', 'a', 'from', 'ssa', 'limit', '0,10'] from的位置是2 表的名字是'ssa'
7. python 文本查找
这个很简单哈,我用java写过类似的,python下没写过,但思路都是一样的,我说一下思路,供你参考一下:
【笨方法】”字符串截取“
基本字符串1=”abc123“
基本字符串2=”345aaa“
例如:目标字符串为:Today
is
a
good
day
aaa123目标字符串345aaa
那么:
获得基本字符串1的长度:len1=len(基本字符串1)
获得基本字符串2的长度:len2=len(基本字符串2)
---------------------------------------------------------------------
以len1长度开始截取目标字符串,以上面的例子为例,截取出来的应该为:
Today_
oday_i
day_is
ay_is_
y_is_a
等...........................
..............
当然这些都是一个循环就可以搞定,然后在这个循环里,对每次接触的字符串进行比对,如果找到与目标字符串形同的,则记下”索引“
开始进行下一步处理:截取本句剩下的部分,找到”基本字符串2“,然后记下其开始”索引“,那么两个”索引“之间的东东就是你想要的那个”目标字符串“,之后你想用它干什么都行...........
【超简单的方法】
会”正则表达式“吗?会的话,直接用正则吧,几句就出来了..........
8. Python正则表达式 检索文本信息
import re
text = open(r'文件路径log.txt').read() #先读取文本
sys_bok = text.split('bck') #分离sys和bok为两部分
syss = sys[0].split('\n')
bcks = sys[1].split('\n')
print 'sys'
for sys in syss:
s = re.findall(r'[0-9]+',sys)
print ' '.join(s)
print 'bck'
for bck in bcks:
b = re.findallre.findall(r'[0-9]+',bck)
print ' '.join(b)
如此,就会输出如下你想要的数据格式:
sys
20 12 79
20 13 81
20 14 12
bck
20 12 164
20 13 278
20 14 128
9. 如何在Python字符串行表中查找出指定字符所在字符串
python 字符串查找有4个方法,1 find,2 index方法,3 rfind方法,4 rindex方法。
1 find()方法:查找子字符串,若找到返回从0开始的下标值,若找不到返回-1
info = 'abca'
print info.find('a')##从下标0开始,查找在字符串里第一个出现的子串,返回结果:0
info = 'abca'
print info.find('a',1)##从下标1开始,查找在字符串里第一个出现的子串:返回结果3
info = 'abca'
print info.find('333')##返回-1,查找不到返回-1
2 index()方法:
python 的index方法是在字符串里查找子串第一次出现的位置,类似字符串的find方法,不过比find方法更好的是,如果查找不到子串,会抛出异常,而不是返回-1
info = 'abca'
print info.index('a')
print info.index('33')
rfind和rindex方法用法和上面一样,只是从字符串的末尾开始查找
10. 怎么用python搜索文本并筛选出来
txtfile=open(r'test.txt',"r")
newtxtfile=open(r'new.txt',"w")
linelist=[]
forlineintxtfile:
linelist.append(line)
iflen(linelist)==4:
ifnotlinelist[1].startswith(r'aaa'):
newtxtfile.writelines(linelist)
linelist=[]
iflen(linelist)>1:
ifnotlinelist[1].startswith(r'aaa'):
newtxtfile.writelines(linelist)
eliflen(linelist)==1:
newtxtfile.writelines(linelist)
txtfile.close()
newtxtfile.close()
读取文件test.txt,将每四行中第二行以aaa开始的去除,写入新文件new.txt中