各位用户为了找寻关于python实现搜索本地文件信息写入文件的方法的资料费劲了很多周折。这里教程网为您整理了关于python实现搜索本地文件信息写入文件的方法的相关资料,仅供查阅,以下为您介绍关于python实现搜索本地文件信息写入文件的方法的详细内容

本文实例讲述了python实现搜索本地文件信息写入文件的方法。分享给大家供大家参考,具体如下:

主要功能:

在指定的盘符,如D盘,搜索出与用户给定后缀名(如:jpg,png)相关的文件,然后把搜索出来的信息(相关文件的绝对路径),存放到用户指定的文件(如果文件不存在,则建立相应的文件)中

先卡看运行效果吧:

运行效果的前部分:

运行效果的后部分:

写入信息后的文件:

代码部分:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 #在指定的盘符,如D盘,搜索出与用户给定后缀名(如:jpg,png)相关的文件 #然后把搜索出来的信息(相关文件的绝对路径),存放到用户指定的 #文件(如果文件不存在,则建立相应的文件)中 import os import 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))

运行控制台情况;

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32 Type "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:test20130627_140132Hongten.jpg 文件: E:test20130627_182913(1)Hongten.jpg 文件: E:test20130627_183008(1)Hongten.jpg 文件: E:test20130627_183054Hongten.jpg 文件: E:test20130627_183059Hongten.jpg 文件: E:test20130627_183101Hongten.jpg 文件: E:test20130627_183116Hongten.jpg 文件: E:test20130627_183326Hongten.jpg 文件: E:test20130627_183714Hongten.jpg 文件: E:test20130627_183749Hongten.jpg 文件: E:test20130627_183925Hongten.jpg 文件: E:test20130627_203658Hongten.jpg 文件: E:test20130627_203802Hongten.jpg 文件: E:test20130627_205112(1)Hongten.jpg 文件: E:test20130627_205131Hongten.jpg 文件: E:test20130627_205159Hongten.jpg 文件: E:test20130627_205219(1)Hongten.jpg 文件: E:test20130627_205257Hongten.jpg 文件: E:test20130627_205315Hongten.jpg 文件: E:test20130627_205408(1)Hongten.jpg 文件: E:test20130627_205425Hongten.jpg 文件: E:test20130627_205627Hongten.jpg 文件: E:test20130627_205629Hongten.jpg 文件: E:testhongten6.2720130627_140132Hongten.jpg 文件: E:testhongten6.2720130627_182913(1)Hongten.jpg 文件: E:testhongten6.2720130627_183008(1)Hongten.jpg 文件: E:testhongten6.2720130627_183054Hongten.jpg 文件: E:testhongten6.2720130627_183059Hongten.jpg 文件: E:testhongten6.2720130627_183101Hongten.jpg 文件: E:testhongten6.2720130627_183116Hongten.jpg 文件: E:testhongten6.2720130627_183326Hongten.jpg 文件: E:testhongten6.2720130627_183714Hongten.jpg 文件: E:testhongten6.2720130627_183749Hongten.jpg 文件: E:testhongten6.2720130627_183925Hongten.jpg 文件: E:testhongten6.2720130627_203658Hongten.jpg 文件: E:testhongten6.2720130627_203802Hongten.jpg 文件: E:testhongten6.2720130627_205112(1)Hongten.jpg 文件: E:testhongten6.2720130627_205131Hongten.jpg 文件: E:testhongten6.2720130627_205159Hongten.jpg 文件: E:testhongten6.2720130627_205219(1)Hongten.jpg 文件: E:testhongten6.2720130627_205257Hongten.jpg 文件: E:testhongten6.2720130627_205315Hongten.jpg 文件: E:testhongten6.2720130627_205408(1)Hongten.jpg 文件: E:testhongten6.2720130627_205425Hongten.jpg 文件: E:testhongten6.2720130627_205627Hongten.jpg 文件: E:testhongten6.2720130627_205629Hongten.jpg ################################################## ['2013-07-28 17:14:49  E:test20130627_140132Hongten.jpg  0n', '2013-07-28 17:14:49  E:test20130627_182913(1)Hongten.jpg  2380747n', '2013-07-28 17:14:49  E:test20130627_183008(1)Hongten.jpg  2315326n', '2013-07-28 17:14:49  E:test20130627_183054Hongten.jpg  2672977n', '2013-07-28 17:14:49  E:test20130627_183059Hongten.jpg  2006608n', '2013-07-28 17:14:49  E:test20130627_183101Hongten.jpg  2076974n', '2013-07-28 17:14:49  E:test20130627_183116Hongten.jpg  2687018n', '2013-07-28 17:14:49  E:test20130627_183326Hongten.jpg  1993448n', '2013-07-28 17:14:49  E:test20130627_183714Hongten.jpg  2497973n', '2013-07-28 17:14:49  E:test20130627_183749Hongten.jpg  2066327n', '2013-07-28 17:14:49  E:test20130627_183925Hongten.jpg  2037776n', '2013-07-28 17:14:49  E:test20130627_203658Hongten.jpg  3033996n', '2013-07-28 17:14:49  E:test20130627_203802Hongten.jpg  2837396n', '2013-07-28 17:14:49  E:test20130627_205112(1)Hongten.jpg  2987659n', '2013-07-28 17:14:49  E:test20130627_205131Hongten.jpg  2745724n', '2013-07-28 17:14:49  E:test20130627_205159Hongten.jpg  2824810n', '2013-07-28 17:14:49  E:test20130627_205219(1)Hongten.jpg  2864744n', '2013-07-28 17:14:49  E:test20130627_205257Hongten.jpg  3092656n', '2013-07-28 17:14:49  E:test20130627_205315Hongten.jpg  2832393n', '2013-07-28 17:14:49  E:test20130627_205408(1)Hongten.jpg  2796261n', '2013-07-28 17:14:49  E:test20130627_205425Hongten.jpg  3295286n', '2013-07-28 17:14:49  E:test20130627_205627Hongten.jpg  2819717n', '2013-07-28 17:14:49  E:test20130627_205629Hongten.jpg  2813522n', '2013-07-28 17:14:49  E:testhongten6.2720130627_140132Hongten.jpg  2571032n', '2013-07-28 17:14:49  E:testhongten6.2720130627_182913(1)Hongten.jpg  2380747n', '2013-07-28 17:14:49  E:testhongten6.2720130627_183008(1)Hongten.jpg  2315326n', '2013-07-28 17:14:49  E:testhongten6.2720130627_183054Hongten.jpg  2672977n', '2013-07-28 17:14:49  E:testhongten6.2720130627_183059Hongten.jpg  2006608n', '2013-07-28 17:14:49  E:testhongten6.2720130627_183101Hongten.jpg  2076974n', '2013-07-28 17:14:49  E:testhongten6.2720130627_183116Hongten.jpg  2687018n', '2013-07-28 17:14:49  E:testhongten6.2720130627_183326Hongten.jpg  1993448n', '2013-07-28 17:14:49  E:testhongten6.2720130627_183714Hongten.jpg  2497973n', '2013-07-28 17:14:49  E:testhongten6.2720130627_183749Hongten.jpg  2066327n', '2013-07-28 17:14:50  E:testhongten6.2720130627_183925Hongten.jpg  2037776n', '2013-07-28 17:14:50  E:testhongten6.2720130627_203658Hongten.jpg  3033996n', '2013-07-28 17:14:50  E:testhongten6.2720130627_203802Hongten.jpg  2837396n', '2013-07-28 17:14:50  E:testhongten6.2720130627_205112(1)Hongten.jpg  2987659n', '2013-07-28 17:14:50  E:testhongten6.2720130627_205131Hongten.jpg  2745724n', '2013-07-28 17:14:50  E:testhongten6.2720130627_205159Hongten.jpg  2824810n', '2013-07-28 17:14:50  E:testhongten6.2720130627_205219(1)Hongten.jpg  2864744n', '2013-07-28 17:14:50  E:testhongten6.2720130627_205257Hongten.jpg  3092656n', '2013-07-28 17:14:50  E:testhongten6.2720130627_205315Hongten.jpg  2832393n', '2013-07-28 17:14:50  E:testhongten6.2720130627_205408(1)Hongten.jpg  2796261n', '2013-07-28 17:14:50  E:testhongten6.2720130627_205425Hongten.jpg  3295286n', '2013-07-28 17:14:50  E:testhongten6.2720130627_205627Hongten.jpg  2819717n', '2013-07-28 17:14:50  E:testhongten6.2720130627_205629Hongten.jpg  2813522n'] ################################################## 开始写入信息... ################################################## 开始读取信息... 2013-07-28 17:14:49  E:test20130627_140132Hongten.jpg  0 2013-07-28 17:14:49  E:test20130627_182913(1)Hongten.jpg  2380747 2013-07-28 17:14:49  E:test20130627_183008(1)Hongten.jpg  2315326 2013-07-28 17:14:49  E:test20130627_183054Hongten.jpg  2672977 2013-07-28 17:14:49  E:test20130627_183059Hongten.jpg  2006608 2013-07-28 17:14:49  E:test20130627_183101Hongten.jpg  2076974 2013-07-28 17:14:49  E:test20130627_183116Hongten.jpg  2687018 2013-07-28 17:14:49  E:test20130627_183326Hongten.jpg  1993448 2013-07-28 17:14:49  E:test20130627_183714Hongten.jpg  2497973 2013-07-28 17:14:49  E:test20130627_183749Hongten.jpg  2066327 2013-07-28 17:14:49  E:test20130627_183925Hongten.jpg  2037776 2013-07-28 17:14:49  E:test20130627_203658Hongten.jpg  3033996 2013-07-28 17:14:49  E:test20130627_203802Hongten.jpg  2837396 2013-07-28 17:14:49  E:test20130627_205112(1)Hongten.jpg  2987659 2013-07-28 17:14:49  E:test20130627_205131Hongten.jpg  2745724 2013-07-28 17:14:49  E:test20130627_205159Hongten.jpg  2824810 2013-07-28 17:14:49  E:test20130627_205219(1)Hongten.jpg  2864744 2013-07-28 17:14:49  E:test20130627_205257Hongten.jpg  3092656 2013-07-28 17:14:49  E:test20130627_205315Hongten.jpg  2832393 2013-07-28 17:14:49  E:test20130627_205408(1)Hongten.jpg  2796261 2013-07-28 17:14:49  E:test20130627_205425Hongten.jpg  3295286 2013-07-28 17:14:49  E:test20130627_205627Hongten.jpg  2819717 2013-07-28 17:14:49  E:test20130627_205629Hongten.jpg  2813522 2013-07-28 17:14:49  E:testhongten6.2720130627_140132Hongten.jpg  2571032 2013-07-28 17:14:49  E:testhongten6.2720130627_182913(1)Hongten.jpg  2380747 2013-07-28 17:14:49  E:testhongten6.2720130627_183008(1)Hongten.jpg  2315326 2013-07-28 17:14:49  E:testhongten6.2720130627_183054Hongten.jpg  2672977 2013-07-28 17:14:49  E:testhongten6.2720130627_183059Hongten.jpg  2006608 2013-07-28 17:14:49  E:testhongten6.2720130627_183101Hongten.jpg  2076974 2013-07-28 17:14:49  E:testhongten6.2720130627_183116Hongten.jpg  2687018 2013-07-28 17:14:49  E:testhongten6.2720130627_183326Hongten.jpg  1993448 2013-07-28 17:14:49  E:testhongten6.2720130627_183714Hongten.jpg  2497973 2013-07-28 17:14:49  E:testhongten6.2720130627_183749Hongten.jpg  2066327 2013-07-28 17:14:50  E:testhongten6.2720130627_183925Hongten.jpg  2037776 2013-07-28 17:14:50  E:testhongten6.2720130627_203658Hongten.jpg  3033996 2013-07-28 17:14:50  E:testhongten6.2720130627_203802Hongten.jpg  2837396 2013-07-28 17:14:50  E:testhongten6.2720130627_205112(1)Hongten.jpg  2987659 2013-07-28 17:14:50  E:testhongten6.2720130627_205131Hongten.jpg  2745724 2013-07-28 17:14:50  E:testhongten6.2720130627_205159Hongten.jpg  2824810 2013-07-28 17:14:50  E:testhongten6.2720130627_205219(1)Hongten.jpg  2864744 2013-07-28 17:14:50  E:testhongten6.2720130627_205257Hongten.jpg  3092656 2013-07-28 17:14:50  E:testhongten6.2720130627_205315Hongten.jpg  2832393 2013-07-28 17:14:50  E:testhongten6.2720130627_205408(1)Hongten.jpg  2796261 2013-07-28 17:14:50  E:testhongten6.2720130627_205425Hongten.jpg  3295286 2013-07-28 17:14:50  E:testhongten6.2720130627_205627Hongten.jpg  2819717 2013-07-28 17:14:50  E:testhongten6.2720130627_205629Hongten.jpg  2813522 ################################################## 搜索文件夹总数:4,文件总数:50 符合要求的文件总数:46,不符合要求的文件总数:4 >>>

希望本文所述对大家Python程序设计有所帮助。