python實(shí)現(xiàn)搜索本地文件信息寫入文件的方法
本文實(shí)例講述了python實(shí)現(xiàn)搜索本地文件信息寫入文件的方法。分享給大家供大家參考,具體如下:
主要功能:
在指定的盤符,如D盤,搜索出與用戶給定后綴名(如:jpg,png)相關(guān)的文件,然后把搜索出來的信息(相關(guān)文件的絕對(duì)路徑),存放到用戶指定的文件(如果文件不存在,則建立相應(yīng)的文件)中
先卡看運(yùn)行效果吧:
運(yùn)行效果的前部分:

運(yùn)行效果的后部分:

寫入信息后的文件:

代碼部分:
#在指定的盤符,如D盤,搜索出與用戶給定后綴名(如:jpg,png)相關(guān)的文件
#然后把搜索出來的信息(相關(guān)文件的絕對(duì)路徑),存放到用戶指定的
#文件(如果文件不存在,則建立相應(yīng)的文件)中
import os
import time
#指定盤符
DESK = 'E:\\'
#信息保存文件的路徑
########## 這里請(qǐng)先建立好此文件,我在做文件操作的過程中
########## 使用os.mknod('E:\\info.txt'),系統(tǒng)不會(huì)建立文件的
SAVE_FILE = 'E:\\info.txt'
#文件后綴類型
FILE_EXT = ['bmp','jpeg','gif','psd','png','jpg']
#定義全局變量
my_dirs = []
my_files = []
#文件個(gè)數(shù)
FILES_NUMBER = 0
#符合要求的文件個(gè)數(shù)
RIGHT_FILES_NUMBER = 0
#不符合要求的文件個(gè)數(shù)
NOT_RIGHT_FILES_NUMBER = 0
#文件夾個(gè)數(shù)
DIR_NUMBER = 0
#獲取指定文件夾下面的所有文件及文件夾
#如果指定的文件夾不存在,則返回相應(yīng)的提示信息
def listdir(dir_path):
if os.path.exists(dir_path):
return os.listdir(dir_path)
else:
return '目錄'+ dir_path + '不存在'
#搜索文件主函數(shù)
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] #文件擴(kuò)展名
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)
#這里是做測試用的,由于掃描整個(gè)盤符涉及到的文件和文件夾很多,可能要花一定的時(shí)間
#所以這里可以使用一個(gè)文件夾作為測試
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('搜索文件夾總數(shù):{0},文件總數(shù):{1}'.format(DIR_NUMBER,FILES_NUMBER))
print('符合要求的文件總數(shù):{0},不符合要求的文件總數(shù):{1}'.format(RIGHT_FILES_NUMBER,NOT_RIGHT_FILES_NUMBER))
運(yùn)行控制臺(tái)情況;
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:\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 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 ################################################## 搜索文件夾總數(shù):4,文件總數(shù):50 符合要求的文件總數(shù):46,不符合要求的文件總數(shù):4 >>>
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
numba提升python運(yùn)行速度的實(shí)例方法
在本篇文章里小編給大家整理的是一篇關(guān)于numba提升python運(yùn)行速度的實(shí)例方法,有興趣的朋友們可以參考下。2021-01-01
Python numpy 提取矩陣的某一行或某一列的實(shí)例
下面小編就為大家分享一篇Python numpy 提取矩陣的某一行或某一列的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04
python3實(shí)現(xiàn)全角和半角字符轉(zhuǎn)換的方法示例
在自然語言處理過程中,全角、半角的的不一致會(huì)導(dǎo)致信息抽取不一致,因此需要統(tǒng)一,下面這篇文章主要給大家介紹了關(guān)于python3中全角和半角字符轉(zhuǎn)換的方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09
pycharm遠(yuǎn)程調(diào)試openstack的圖文教程
這篇文章主要為大家詳細(xì)介紹了pycharm遠(yuǎn)程調(diào)試openstack的圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
關(guān)于pip install uwsgi安裝失敗問題的解決方案
這篇文章主要介紹了關(guān)于pip install uwsgi安裝失敗問題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
python讀取目錄下所有的jpg文件,并顯示第一張圖片的示例
今天小編就為大家分享一篇python讀取目錄下所有的jpg文件,并顯示第一張圖片的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Python 快速驗(yàn)證代理IP是否有效的方法實(shí)現(xiàn)
有時(shí)候,我們需要用到代理IP,比如在爬蟲的時(shí)候,不知道怎么驗(yàn)證這些IP是不是有效的,本文就介紹一下,感興趣的可以了解一下2021-07-07
Django如何創(chuàng)作一個(gè)簡單的最小程序
這篇文章主要介紹了Django如何創(chuàng)作一個(gè)簡單的最小程序,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05

