検索
ホームページバックエンド開発Python チュートリアルpython实现搜索本地文件信息写入文件的方法

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

主要功能:

在指定的盘符,如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+'\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 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
##################################################
搜索文件夹总数:4,文件总数:50
符合要求的文件总数:46,不符合要求的文件总数:4
>>> 

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

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
详细讲解Python之Seaborn(数据可视化)详细讲解Python之Seaborn(数据可视化)Apr 21, 2022 pm 06:08 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

详细了解Python进程池与进程锁详细了解Python进程池与进程锁May 10, 2022 pm 06:11 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

Python自动化实践之筛选简历Python自动化实践之筛选简历Jun 07, 2022 pm 06:59 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

归纳总结Python标准库归纳总结Python标准库May 03, 2022 am 09:00 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于标准库总结的相关问题,下面一起来看一下,希望对大家有帮助。

Python数据类型详解之字符串、数字Python数据类型详解之字符串、数字Apr 27, 2022 pm 07:27 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

分享10款高效的VSCode插件,总有一款能够惊艳到你!!分享10款高效的VSCode插件,总有一款能够惊艳到你!!Mar 09, 2021 am 10:15 AM

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

详细介绍python的numpy模块详细介绍python的numpy模块May 19, 2022 am 11:43 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

python中文是什么意思python中文是什么意思Jun 24, 2019 pm 02:22 PM

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境