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中