主要功能:
在指定的盤符,如D盤,搜索出與用戶給定后綴名(如:jpg,png)相關的文件,然后把搜索出來的信息(相關文件的絕對路徑),存放到用戶指定的文件(如果文件不存在,則建立相應的文件)中
先卡看運行效果吧:
運行效果的前部分:
運行效果的后部分:
寫入信息后的文件:
代碼部分:
#在指定的盤符,如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+' ') 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 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: est20130627_140132Hongten.jpg 文件: E: est20130627_182913(1)Hongten.jpg 文件: E: est20130627_183008(1)Hongten.jpg 文件: E: est20130627_183054Hongten.jpg 文件: E: est20130627_183059Hongten.jpg 文件: E: est20130627_183101Hongten.jpg 文件: E: est20130627_183116Hongten.jpg 文件: E: est20130627_183326Hongten.jpg 文件: E: est20130627_183714Hongten.jpg 文件: E: est20130627_183749Hongten.jpg 文件: E: est20130627_183925Hongten.jpg 文件: E: est20130627_203658Hongten.jpg 文件: E: est20130627_203802Hongten.jpg 文件: E: est20130627_205112(1)Hongten.jpg 文件: E: est20130627_205131Hongten.jpg 文件: E: est20130627_205159Hongten.jpg 文件: E: est20130627_205219(1)Hongten.jpg 文件: E: est20130627_205257Hongten.jpg 文件: E: est20130627_205315Hongten.jpg 文件: E: est20130627_205408(1)Hongten.jpg 文件: E: est20130627_205425Hongten.jpg 文件: E: est20130627_205627Hongten.jpg 文件: E: est20130627_205629Hongten.jpg 文件: E: esthongten6.2720130627_140132Hongten.jpg 文件: E: esthongten6.2720130627_182913(1)Hongten.jpg 文件: E: esthongten6.2720130627_183008(1)Hongten.jpg 文件: E: esthongten6.2720130627_183054Hongten.jpg 文件: E: esthongten6.2720130627_183059Hongten.jpg 文件: E: esthongten6.2720130627_183101Hongten.jpg 文件: E: esthongten6.2720130627_183116Hongten.jpg 文件: E: esthongten6.2720130627_183326Hongten.jpg 文件: E: esthongten6.2720130627_183714Hongten.jpg 文件: E: esthongten6.2720130627_183749Hongten.jpg 文件: E: esthongten6.2720130627_183925Hongten.jpg 文件: E: esthongten6.2720130627_203658Hongten.jpg 文件: E: esthongten6.2720130627_203802Hongten.jpg 文件: E: esthongten6.2720130627_205112(1)Hongten.jpg 文件: E: esthongten6.2720130627_205131Hongten.jpg 文件: E: esthongten6.2720130627_205159Hongten.jpg 文件: E: esthongten6.2720130627_205219(1)Hongten.jpg 文件: E: esthongten6.2720130627_205257Hongten.jpg 文件: E: esthongten6.2720130627_205315Hongten.jpg 文件: E: esthongten6.2720130627_205408(1)Hongten.jpg 文件: E: esthongten6.2720130627_205425Hongten.jpg 文件: E: esthongten6.2720130627_205627Hongten.jpg 文件: E: esthongten6.2720130627_205629Hongten.jpg ################################################## ['2013-07-28 17:14:49 E:\test\20130627_140132Hongten.jpg 0 ', '2013-07-28 17:14:49 E:\test\20130627_182913(1)Hongten.jpg 2380747 ', '2013-07-28 17:14:49 E:\test\20130627_183008(1)Hongten.jpg 2315326 ', '2013-07-28 17:14:49 E:\test\20130627_183054Hongten.jpg 2672977 ', '2013-07-28 17:14:49 E:\test\20130627_183059Hongten.jpg 2006608 ', '2013-07-28 17:14:49 E:\test\20130627_183101Hongten.jpg 2076974 ', '2013-07-28 17:14:49 E:\test\20130627_183116Hongten.jpg 2687018 ', '2013-07-28 17:14:49 E:\test\20130627_183326Hongten.jpg 1993448 ', '2013-07-28 17:14:49 E:\test\20130627_183714Hongten.jpg 2497973 ', '2013-07-28 17:14:49 E:\test\20130627_183749Hongten.jpg 2066327 ', '2013-07-28 17:14:49 E:\test\20130627_183925Hongten.jpg 2037776 ', '2013-07-28 17:14:49 E:\test\20130627_203658Hongten.jpg 3033996 ', '2013-07-28 17:14:49 E:\test\20130627_203802Hongten.jpg 2837396 ', '2013-07-28 17:14:49 E:\test\20130627_205112(1)Hongten.jpg 2987659 ', '2013-07-28 17:14:49 E:\test\20130627_205131Hongten.jpg 2745724 ', '2013-07-28 17:14:49 E:\test\20130627_205159Hongten.jpg 2824810 ', '2013-07-28 17:14:49 E:\test\20130627_205219(1)Hongten.jpg 2864744 ', '2013-07-28 17:14:49 E:\test\20130627_205257Hongten.jpg 3092656 ', '2013-07-28 17:14:49 E:\test\20130627_205315Hongten.jpg 2832393 ', '2013-07-28 17:14:49 E:\test\20130627_205408(1)Hongten.jpg 2796261 ', '2013-07-28 17:14:49 E:\test\20130627_205425Hongten.jpg 3295286 ', '2013-07-28 17:14:49 E:\test\20130627_205627Hongten.jpg 2819717 ', '2013-07-28 17:14:49 E:\test\20130627_205629Hongten.jpg 2813522 ', '2013-07-28 17:14:49 E:\test\hongten\6.27\20130627_140132Hongten.jpg 2571032 ', '2013-07-28 17:14:49 E:\test\hongten\6.27\20130627_182913(1)Hongten.jpg 2380747 ', '2013-07-28 17:14:49 E:\test\hongten\6.27\20130627_183008(1)Hongten.jpg 2315326 ', '2013-07-28 17:14:49 E:\test\hongten\6.27\20130627_183054Hongten.jpg 2672977 ', '2013-07-28 17:14:49 E:\test\hongten\6.27\20130627_183059Hongten.jpg 2006608 ', '2013-07-28 17:14:49 E:\test\hongten\6.27\20130627_183101Hongten.jpg 2076974 ', '2013-07-28 17:14:49 E:\test\hongten\6.27\20130627_183116Hongten.jpg 2687018 ', '2013-07-28 17:14:49 E:\test\hongten\6.27\20130627_183326Hongten.jpg 1993448 ', '2013-07-28 17:14:49 E:\test\hongten\6.27\20130627_183714Hongten.jpg 2497973 ', '2013-07-28 17:14:49 E:\test\hongten\6.27\20130627_183749Hongten.jpg 2066327 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_183925Hongten.jpg 2037776 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_203658Hongten.jpg 3033996 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_203802Hongten.jpg 2837396 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_205112(1)Hongten.jpg 2987659 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_205131Hongten.jpg 2745724 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_205159Hongten.jpg 2824810 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_205219(1)Hongten.jpg 2864744 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_205257Hongten.jpg 3092656 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_205315Hongten.jpg 2832393 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_205408(1)Hongten.jpg 2796261 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_205425Hongten.jpg 3295286 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_205627Hongten.jpg 2819717 ', '2013-07-28 17:14:50 E:\test\hongten\6.27\20130627_205629Hongten.jpg 2813522 '] ################################################## 開始寫入信息... ################################################## 開始讀取信息... 2013-07-28 17:14:49 E: est20130627_140132Hongten.jpg 0 2013-07-28 17:14:49 E: est20130627_182913(1)Hongten.jpg 2380747 2013-07-28 17:14:49 E: est20130627_183008(1)Hongten.jpg 2315326 2013-07-28 17:14:49 E: est20130627_183054Hongten.jpg 2672977 2013-07-28 17:14:49 E: est20130627_183059Hongten.jpg 2006608 2013-07-28 17:14:49 E: est20130627_183101Hongten.jpg 2076974 2013-07-28 17:14:49 E: est20130627_183116Hongten.jpg 2687018 2013-07-28 17:14:49 E: est20130627_183326Hongten.jpg 1993448 2013-07-28 17:14:49 E: est20130627_183714Hongten.jpg 2497973 2013-07-28 17:14:49 E: est20130627_183749Hongten.jpg 2066327 2013-07-28 17:14:49 E: est20130627_183925Hongten.jpg 2037776 2013-07-28 17:14:49 E: est20130627_203658Hongten.jpg 3033996 2013-07-28 17:14:49 E: est20130627_203802Hongten.jpg 2837396 2013-07-28 17:14:49 E: est20130627_205112(1)Hongten.jpg 2987659 2013-07-28 17:14:49 E: est20130627_205131Hongten.jpg 2745724 2013-07-28 17:14:49 E: est20130627_205159Hongten.jpg 2824810 2013-07-28 17:14:49 E: est20130627_205219(1)Hongten.jpg 2864744 2013-07-28 17:14:49 E: est20130627_205257Hongten.jpg 3092656 2013-07-28 17:14:49 E: est20130627_205315Hongten.jpg 2832393 2013-07-28 17:14:49 E: est20130627_205408(1)Hongten.jpg 2796261 2013-07-28 17:14:49 E: est20130627_205425Hongten.jpg 3295286 2013-07-28 17:14:49 E: est20130627_205627Hongten.jpg 2819717 2013-07-28 17:14:49 E: est20130627_205629Hongten.jpg 2813522 2013-07-28 17:14:49 E: esthongten6.2720130627_140132Hongten.jpg 2571032 2013-07-28 17:14:49 E: esthongten6.2720130627_182913(1)Hongten.jpg 2380747 2013-07-28 17:14:49 E: esthongten6.2720130627_183008(1)Hongten.jpg 2315326 2013-07-28 17:14:49 E: esthongten6.2720130627_183054Hongten.jpg 2672977 2013-07-28 17:14:49 E: esthongten6.2720130627_183059Hongten.jpg 2006608 2013-07-28 17:14:49 E: esthongten6.2720130627_183101Hongten.jpg 2076974 2013-07-28 17:14:49 E: esthongten6.2720130627_183116Hongten.jpg 2687018 2013-07-28 17:14:49 E: esthongten6.2720130627_183326Hongten.jpg 1993448 2013-07-28 17:14:49 E: esthongten6.2720130627_183714Hongten.jpg 2497973 2013-07-28 17:14:49 E: esthongten6.2720130627_183749Hongten.jpg 2066327 2013-07-28 17:14:50 E: esthongten6.2720130627_183925Hongten.jpg 2037776 2013-07-28 17:14:50 E: esthongten6.2720130627_203658Hongten.jpg 3033996 2013-07-28 17:14:50 E: esthongten6.2720130627_203802Hongten.jpg 2837396 2013-07-28 17:14:50 E: esthongten6.2720130627_205112(1)Hongten.jpg 2987659 2013-07-28 17:14:50 E: esthongten6.2720130627_205131Hongten.jpg 2745724 2013-07-28 17:14:50 E: esthongten6.2720130627_205159Hongten.jpg 2824810 2013-07-28 17:14:50 E: esthongten6.2720130627_205219(1)Hongten.jpg 2864744 2013-07-28 17:14:50 E: esthongten6.2720130627_205257Hongten.jpg 3092656 2013-07-28 17:14:50 E: esthongten6.2720130627_205315Hongten.jpg 2832393 2013-07-28 17:14:50 E: esthongten6.2720130627_205408(1)Hongten.jpg 2796261 2013-07-28 17:14:50 E: esthongten6.2720130627_205425Hongten.jpg 3295286 2013-07-28 17:14:50 E: esthongten6.2720130627_205627Hongten.jpg 2819717 2013-07-28 17:14:50 E: esthongten6.2720130627_205629Hongten.jpg 2813522 ################################################## 搜索文件夾總數:4,文件總數:50 符合要求的文件總數:46,不符合要求的文件總數:4 >>>
希望本文所述對大家Python程序設計有所幫助。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com