您好,欢迎访问一九零五行业门户网

python实现搜索本地文件信息写入文件的方法

本文实例讲述了python实现搜索本地文件信息写入文件的方法。分享给大家供大家参考,具体如下:
主要功能:
在指定的盘符,如d盘,搜索出与用户给定后缀名(如:jpg,png)相关的文件,然后把搜索出来的信息(相关文件的绝对路径),存放到用户指定的文件(如果文件不存在,则建立相应的文件)中
先卡看运行效果吧:
运行效果的前部分:
运行效果的后部分:
写入信息后的文件:
代码部分:
#在指定的盘符,如d盘,搜索出与用户给定后缀名(如:jpg,png)相关的文件#然后把搜索出来的信息(相关文件的绝对路径),存放到用户指定的#文件(如果文件不存在,则建立相应的文件)中import osimport time#指定盘符desk = 'e:\\'#信息保存文件的路径########## 这里请先建立好此文件,我在做文件操作的过程中########## 使用os.mknod('e:\\info.txt'),系统不会建立文件的save_file = 'e:\\info.txt'#文件后缀类型file_ext = ['bmp','jpeg','gif','psd','png','jpg']#定义全局变量my_dirs = []my_files = []#文件个数files_number = 0#符合要求的文件个数right_files_number = 0#不符合要求的文件个数not_right_files_number = 0#文件夹个数dir_number = 0#获取指定文件夹下面的所有文件及文件夹#如果指定的文件夹不存在,则返回相应的提示信息def listdir(dir_path): if os.path.exists(dir_path): return os.listdir(dir_path) else: return '目录'+ dir_path + '不存在'#搜索文件主函数def search_files(path,name): if not os.path.isdir(path) and not os.path.isfile(path): return false path = os.path.join(path,name) if os.path.isfile(path): #是文件 global files_number files_number = files_number + 1 lists = path.split('.') #print('============================================',lists) file_ext = lists[-1] #文件扩展名 if file_ext in file_ext: global right_files_number right_files_number = right_files_number + 1 global my_files now = str(time.strftime('%y-%m-%d %h:%m:%s',time.localtime(time.time()))) size = str(get_file_size(path)) my_files.append(now+' '+path+' '+size+'\n') print('文件:',path) else: global not_right_files_number not_right_files_number = not_right_files_number + 1 elif os.path.isdir(path): #是文件夹 global dir_number dir_number = dir_number + 1 for name in listdir(path): #print(os.path.join(path,name)) search_files(path,name)#获取文件大小def get_file_size(path): if os.path.exists(path): return os.path.getsize(path)#写入信息def write_info(content): if os.path.exists(path): with open(save_file,'w+') as fp: fp.write(content) fp.flush() fp.close() else: print('文件:{}不存在!'.format(save_file))#读取所有信息def read_info(): if os.path.exists(path): with open(save_file,'r+') as fp: for line in fp: print(line) else: print('文件:{}不存在!'.format(save_file))if __name__ == '__main__': for d in listdir(desk): my_dirs.append(os.path.join(desk,d)) print(my_dirs) #这里是做测试用的,由于扫描整个盘符涉及到的文件和文件夹很多,可能要花一定的时间 #所以这里可以使用一个文件夹作为测试 my_dir = ['e:\\test'] for path in my_dir: search_files(path,'') print('#' * 50) print(my_files) print('#' * 50) print('开始写入信息...') content = ''.join(my_files) write_info(content) print('#' * 50) print('开始读取信息...') read_info() print('#' * 50) print('搜索文件夹总数:{0},文件总数:{1}'.format(dir_number,files_number)) print('符合要求的文件总数:{0},不符合要求的文件总数:{1}'.format(right_files_number,not_right_files_number))
运行控制台情况;
python 3.3.2 (v3.3.2:d047928ae3f6, may 16 2013, 00:03:43) [msc v.1600 32 bit (intel)] on win32type copyright, credits or license() for more information.>>> ================================ restart ================================>>> ['e:\\bb', 'e:\\devlopment', 'e:\\game', 'e:\\hongten_download', 'e:\\info.txt', 'e:\\log4j', 'e:\\mydir', 'e:\\oracle', 'e:\\oracle10.2_win32', 'e:\\recycler', 'e:\\svn_checkout', 'e:\\system volume information', 'e:\\test', 'e:\\the kmplayer', 'e:\\windows', 'e:\\work']文件: e:\test\20130627_140132hongten.jpg文件: e:\test\20130627_182913(1)hongten.jpg文件: e:\test\20130627_183008(1)hongten.jpg文件: e:\test\20130627_183054hongten.jpg文件: e:\test\20130627_183059hongten.jpg文件: e:\test\20130627_183101hongten.jpg文件: e:\test\20130627_183116hongten.jpg文件: e:\test\20130627_183326hongten.jpg文件: e:\test\20130627_183714hongten.jpg文件: e:\test\20130627_183749hongten.jpg文件: e:\test\20130627_183925hongten.jpg文件: e:\test\20130627_203658hongten.jpg文件: e:\test\20130627_203802hongten.jpg文件: e:\test\20130627_205112(1)hongten.jpg文件: e:\test\20130627_205131hongten.jpg文件: e:\test\20130627_205159hongten.jpg文件: e:\test\20130627_205219(1)hongten.jpg文件: e:\test\20130627_205257hongten.jpg文件: e:\test\20130627_205315hongten.jpg文件: e:\test\20130627_205408(1)hongten.jpg文件: e:\test\20130627_205425hongten.jpg文件: e:\test\20130627_205627hongten.jpg文件: e:\test\20130627_205629hongten.jpg文件: e:\test\hongten\6.27\20130627_140132hongten.jpg文件: e:\test\hongten\6.27\20130627_182913(1)hongten.jpg文件: e:\test\hongten\6.27\20130627_183008(1)hongten.jpg文件: e:\test\hongten\6.27\20130627_183054hongten.jpg文件: e:\test\hongten\6.27\20130627_183059hongten.jpg文件: e:\test\hongten\6.27\20130627_183101hongten.jpg文件: e:\test\hongten\6.27\20130627_183116hongten.jpg文件: e:\test\hongten\6.27\20130627_183326hongten.jpg文件: e:\test\hongten\6.27\20130627_183714hongten.jpg文件: e:\test\hongten\6.27\20130627_183749hongten.jpg文件: e:\test\hongten\6.27\20130627_183925hongten.jpg文件: e:\test\hongten\6.27\20130627_203658hongten.jpg文件: e:\test\hongten\6.27\20130627_203802hongten.jpg文件: e:\test\hongten\6.27\20130627_205112(1)hongten.jpg文件: e:\test\hongten\6.27\20130627_205131hongten.jpg文件: e:\test\hongten\6.27\20130627_205159hongten.jpg文件: e:\test\hongten\6.27\20130627_205219(1)hongten.jpg文件: e:\test\hongten\6.27\20130627_205257hongten.jpg文件: e:\test\hongten\6.27\20130627_205315hongten.jpg文件: e:\test\hongten\6.27\20130627_205408(1)hongten.jpg文件: e:\test\hongten\6.27\20130627_205425hongten.jpg文件: e:\test\hongten\6.27\20130627_205627hongten.jpg文件: e:\test\hongten\6.27\20130627_205629hongten.jpg##################################################['2013-07-28 17:14:49 e:\\test\\20130627_140132hongten.jpg 0\n', '2013-07-28 17:14:49 e:\\test\\20130627_182913(1)hongten.jpg 2380747\n', '2013-07-28 17:14:49 e:\\test\\20130627_183008(1)hongten.jpg 2315326\n', '2013-07-28 17:14:49 e:\\test\\20130627_183054hongten.jpg 2672977\n', '2013-07-28 17:14:49 e:\\test\\20130627_183059hongten.jpg 2006608\n', '2013-07-28 17:14:49 e:\\test\\20130627_183101hongten.jpg 2076974\n', '2013-07-28 17:14:49 e:\\test\\20130627_183116hongten.jpg 2687018\n', '2013-07-28 17:14:49 e:\\test\\20130627_183326hongten.jpg 1993448\n', '2013-07-28 17:14:49 e:\\test\\20130627_183714hongten.jpg 2497973\n', '2013-07-28 17:14:49 e:\\test\\20130627_183749hongten.jpg 2066327\n', '2013-07-28 17:14:49 e:\\test\\20130627_183925hongten.jpg 2037776\n', '2013-07-28 17:14:49 e:\\test\\20130627_203658hongten.jpg 3033996\n', '2013-07-28 17:14:49 e:\\test\\20130627_203802hongten.jpg 2837396\n', '2013-07-28 17:14:49 e:\\test\\20130627_205112(1)hongten.jpg 2987659\n', '2013-07-28 17:14:49 e:\\test\\20130627_205131hongten.jpg 2745724\n', '2013-07-28 17:14:49 e:\\test\\20130627_205159hongten.jpg 2824810\n', '2013-07-28 17:14:49 e:\\test\\20130627_205219(1)hongten.jpg 2864744\n', '2013-07-28 17:14:49 e:\\test\\20130627_205257hongten.jpg 3092656\n', '2013-07-28 17:14:49 e:\\test\\20130627_205315hongten.jpg 2832393\n', '2013-07-28 17:14:49 e:\\test\\20130627_205408(1)hongten.jpg 2796261\n', '2013-07-28 17:14:49 e:\\test\\20130627_205425hongten.jpg 3295286\n', '2013-07-28 17:14:49 e:\\test\\20130627_205627hongten.jpg 2819717\n', '2013-07-28 17:14:49 e:\\test\\20130627_205629hongten.jpg 2813522\n', '2013-07-28 17:14:49 e:\\test\\hongten\\6.27\\20130627_140132hongten.jpg 2571032\n', '2013-07-28 17:14:49 e:\\test\\hongten\\6.27\\20130627_182913(1)hongten.jpg 2380747\n', '2013-07-28 17:14:49 e:\\test\\hongten\\6.27\\20130627_183008(1)hongten.jpg 2315326\n', '2013-07-28 17:14:49 e:\\test\\hongten\\6.27\\20130627_183054hongten.jpg 2672977\n', '2013-07-28 17:14:49 e:\\test\\hongten\\6.27\\20130627_183059hongten.jpg 2006608\n', '2013-07-28 17:14:49 e:\\test\\hongten\\6.27\\20130627_183101hongten.jpg 2076974\n', '2013-07-28 17:14:49 e:\\test\\hongten\\6.27\\20130627_183116hongten.jpg 2687018\n', '2013-07-28 17:14:49 e:\\test\\hongten\\6.27\\20130627_183326hongten.jpg 1993448\n', '2013-07-28 17:14:49 e:\\test\\hongten\\6.27\\20130627_183714hongten.jpg 2497973\n', '2013-07-28 17:14:49 e:\\test\\hongten\\6.27\\20130627_183749hongten.jpg 2066327\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_183925hongten.jpg 2037776\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_203658hongten.jpg 3033996\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_203802hongten.jpg 2837396\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_205112(1)hongten.jpg 2987659\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_205131hongten.jpg 2745724\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_205159hongten.jpg 2824810\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_205219(1)hongten.jpg 2864744\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_205257hongten.jpg 3092656\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_205315hongten.jpg 2832393\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_205408(1)hongten.jpg 2796261\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_205425hongten.jpg 3295286\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_205627hongten.jpg 2819717\n', '2013-07-28 17:14:50 e:\\test\\hongten\\6.27\\20130627_205629hongten.jpg 2813522\n']##################################################开始写入信息...##################################################开始读取信息...2013-07-28 17:14:49 e:\test\20130627_140132hongten.jpg 02013-07-28 17:14:49 e:\test\20130627_182913(1)hongten.jpg 23807472013-07-28 17:14:49 e:\test\20130627_183008(1)hongten.jpg 23153262013-07-28 17:14:49 e:\test\20130627_183054hongten.jpg 26729772013-07-28 17:14:49 e:\test\20130627_183059hongten.jpg 20066082013-07-28 17:14:49 e:\test\20130627_183101hongten.jpg 20769742013-07-28 17:14:49 e:\test\20130627_183116hongten.jpg 26870182013-07-28 17:14:49 e:\test\20130627_183326hongten.jpg 19934482013-07-28 17:14:49 e:\test\20130627_183714hongten.jpg 24979732013-07-28 17:14:49 e:\test\20130627_183749hongten.jpg 20663272013-07-28 17:14:49 e:\test\20130627_183925hongten.jpg 20377762013-07-28 17:14:49 e:\test\20130627_203658hongten.jpg 30339962013-07-28 17:14:49 e:\test\20130627_203802hongten.jpg 28373962013-07-28 17:14:49 e:\test\20130627_205112(1)hongten.jpg 29876592013-07-28 17:14:49 e:\test\20130627_205131hongten.jpg 27457242013-07-28 17:14:49 e:\test\20130627_205159hongten.jpg 28248102013-07-28 17:14:49 e:\test\20130627_205219(1)hongten.jpg 28647442013-07-28 17:14:49 e:\test\20130627_205257hongten.jpg 30926562013-07-28 17:14:49 e:\test\20130627_205315hongten.jpg 28323932013-07-28 17:14:49 e:\test\20130627_205408(1)hongten.jpg 27962612013-07-28 17:14:49 e:\test\20130627_205425hongten.jpg 32952862013-07-28 17:14:49 e:\test\20130627_205627hongten.jpg 28197172013-07-28 17:14:49 e:\test\20130627_205629hongten.jpg 28135222013-07-28 17:14:49 e:\test\hongten\6.27\20130627_140132hongten.jpg 25710322013-07-28 17:14:49 e:\test\hongten\6.27\20130627_182913(1)hongten.jpg 23807472013-07-28 17:14:49 e:\test\hongten\6.27\20130627_183008(1)hongten.jpg 23153262013-07-28 17:14:49 e:\test\hongten\6.27\20130627_183054hongten.jpg 26729772013-07-28 17:14:49 e:\test\hongten\6.27\20130627_183059hongten.jpg 20066082013-07-28 17:14:49 e:\test\hongten\6.27\20130627_183101hongten.jpg 20769742013-07-28 17:14:49 e:\test\hongten\6.27\20130627_183116hongten.jpg 26870182013-07-28 17:14:49 e:\test\hongten\6.27\20130627_183326hongten.jpg 19934482013-07-28 17:14:49 e:\test\hongten\6.27\20130627_183714hongten.jpg 24979732013-07-28 17:14:49 e:\test\hongten\6.27\20130627_183749hongten.jpg 20663272013-07-28 17:14:50 e:\test\hongten\6.27\20130627_183925hongten.jpg 20377762013-07-28 17:14:50 e:\test\hongten\6.27\20130627_203658hongten.jpg 30339962013-07-28 17:14:50 e:\test\hongten\6.27\20130627_203802hongten.jpg 28373962013-07-28 17:14:50 e:\test\hongten\6.27\20130627_205112(1)hongten.jpg 29876592013-07-28 17:14:50 e:\test\hongten\6.27\20130627_205131hongten.jpg 27457242013-07-28 17:14:50 e:\test\hongten\6.27\20130627_205159hongten.jpg 28248102013-07-28 17:14:50 e:\test\hongten\6.27\20130627_205219(1)hongten.jpg 28647442013-07-28 17:14:50 e:\test\hongten\6.27\20130627_205257hongten.jpg 30926562013-07-28 17:14:50 e:\test\hongten\6.27\20130627_205315hongten.jpg 28323932013-07-28 17:14:50 e:\test\hongten\6.27\20130627_205408(1)hongten.jpg 27962612013-07-28 17:14:50 e:\test\hongten\6.27\20130627_205425hongten.jpg 32952862013-07-28 17:14:50 e:\test\hongten\6.27\20130627_205627hongten.jpg 28197172013-07-28 17:14:50 e:\test\hongten\6.27\20130627_205629hongten.jpg 2813522##################################################搜索文件夹总数:4,文件总数:50符合要求的文件总数:46,不符合要求的文件总数:4>>>
希望本文所述对大家python程序设计有所帮助。
其它类似信息

推荐信息