python搜索文件
❶ 如何用python写一个文件搜索器
好好看一下OS模块,比如用os.walk()来遍历文件夹里的所有文件,模糊判断是否存在与需要搜索的文件同名的文件
❷ 怎么用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中
❸ 如何用Python实现查找"/"目录下的文件夹或文件,感谢
给你各相对来说容易理解的哈
import os
name=raw_input('filename:') #在这里输入你的查找值
a=os.listdir('/') #把所有/目录下的文件,目录存放入a
if name in a: #如果查找值在/目录下,进行进一步判断
if os.path.isdir(name): #判断是否为目录
print 'dir'
elif os.path.isfile(name) and os.pathislink(name): #符号连接即是文件又是link所以双重判断
print 'link'
elif os.path.isfile(name): #判断是否文件
print 'file'
else: #linux上文件类型多,不符合上面三种打印0ther
print 'other'
else: #不存在打印‘not exist’
print 'not exist'
❹ 如何用Python os.path.walk方法遍历搜索文件内容的操作详解
本文是关于如何用Python os.path.walk方法遍历搜索文件目录内容的操作详解的文章,python 代码中用os.path.walk函数这个python模块的方法来遍历文件,python列出文件夹下的所有文件并找到自己想要的内容。
文中使用到了Python os模块和Python sys模块,这两个模块具体的使用方法请参考玩蛇网相关文章阅读。
Python os.path.walk方法遍历文件搜索内容方法代码如下:
?
041
import os, sys#代码中需要用到的方法模块导入 listonly = False skipexts = ['.gif', '.exe', '.pyc', '.o', '.a','.dll','.lib','.pdb','.mdb'] # ignore binary files def visitfile(fname, searchKey): global fcount, vcount try: if not listonly: if os.path.splitext(fname)[1] in skipexts: pass elif open(fname).read().find(searchKey) != -1: print'%s has %s' % (fname, searchKey) fcount += 1 except: pass vcount += 1 #www.iplaypy.com def visitor(args, directoryName,filesInDirectory): for fname in filesInDirectory: fpath = os.path.join(directoryName, fname) if not os.path.isdir(fpath): visitfile(fpath,args) def searcher(startdir, searchkey): global fcount, vcount fcount = vcount = 0 os.path.walk(startdir, visitor, searchkey) if __name__ == '__main__': root=raw_input("type root directory:") key=raw_input("type key:") searcher(root,key) print 'Found in %d files, visited %d' % (fcount, vcount)
❺ python,如何查找一个文件夹里的最新的文件
每次扫描完生成一个文件
以后每次扫描都拿这个文件跟所有文件的修改时间做比较,比那个文件新的就是更新了
❻ python,如何查找一个文件夹里的最新产生的文件并且得到最新文件生成的时间
# -*- coding:UTF-8 -*-
import os,os.path,datetime
base_dir="c:\Windows\"
l=os.listdir(base_dir)
l.sort(key=lambda fn: os.path.getmtime(base_dir+fn) if not os.path.isdir(base_dir+fn) else 0)
d=datetime.datetime.fromtimestamp(os.path.getmtime(base_dir+l[-1]))
print('最后改动的文件是'+l[-1]+",时间:"+d.strftime("%Y年%m月%d日 %H时%M分%S秒"))
>>>
最后改动的文件是WindowsUpdate.log,生成时间:2013年04月10日 12时18分09秒
这个算较简的方法。注意第5、6行在同一行上,网络自动断了。
python3.2代码
❼ 用python搜索文件夹内所有文件,并且根据名字打开其他文档
importglob,os,re
path_a='e:\A'
path_b='e:\B'
a_files=glob.glob('%s\*'%path_a)
b_files=glob.glob('%s\*'%path_b)
forfina_files:
file_name=os.path.basename(f)
file_name_in_folder_b=re.subn(ur'd{8}_d{2}_d{2}_d{2}_','',file_name)
full_path='%s\%s'%(path_b,file_name_in_folder_b)
iffull_pathinb_files:
file_in_b=open(full_path,'r')
❽ 用python实现一个本地文件搜索功能。
import re,os
import sys
def filelist(path,r,f):
"""
function to find the directions and files in the given direction
according to your parameters,fileonly or not,recursively find or not.
"""
file_list = []
os.chdir(path)
filename = os.listdir(path)
if len(filename) == 0:
os.chdir(os.pardir)
return filename
if r == 1: ##
if f == 0: # r = 1, recursively find directions and files. r = 0 otherwise.
for name in filename: # f = 1, find files only, f = 0,otherwise.
if os.path.isdir(name): ##
file_list.append(name)
name = os.path.abspath(name)
subfile_list = filelist(name,r,f)
for n in range(len(subfile_list)):
subfile_list[n] = '\t'+subfile_list[n]
file_list += subfile_list
else:
file_list.append(name)
os.chdir(os.pardir)
return file_list
elif f == 1:
for name in filename:
if os.path.isdir(name):
name = os.path.abspath(name)
subfile_list = filelist(name,r,f)
for n in range(len(subfile_list)):
subfile_list[n] = '\t'+subfile_list[n]
file_list += subfile_list
else:
file_list.append(name)
os.chdir(os.pardir)
return file_list
else:
print 'Error1'
elif r == 0:
if f == 0:
os.chdir(os.pardir)
return filename
elif f == 1:
for name in filename:
if os.path.isfile(name):
file_list.append(name)
os.chdir(os.pardir)
return file_list
else:
print 'Error2'
else:
print 'Error3'
'''
f = 0:list all the files and folders
f = 1:list files only
r = 1:list files or folders recursively,all the files and folders in the current direction and subdirection
r = 0:only list files or folders in the current direction,not recursively
as for RE to match certern file or dirction,you can write yourself, it is easier than the function above.Just use RE to match the result,if match,print;else,pass
"""