Maison >développement back-end >Tutoriel Python >Python implémente du code pour lire les noms de fichiers de tous les fichiers d'un répertoire et les enregistrer dans des fichiers txt

Python implémente du code pour lire les noms de fichiers de tous les fichiers d'un répertoire et les enregistrer dans des fichiers txt

高洛峰
高洛峰original
2017-01-20 16:48:121621parcourir

代码: (使用os.listdir)

import os
def ListFilesToTxt(dir,file,wildcard,recursion):
    exts = wildcard.split(" ")
    files = os.listdir(dir)
    for name in files:
        fullname=os.path.join(dir,name)
        if(os.path.isdir(fullname) & recursion):
            ListFilesToTxt(fullname,file,wildcard,recursion)
        else:
            for ext in exts:
                if(name.endswith(ext)):
                    file.write(name + "\n")
                    break
def Test():
  dir="J:\\1"
  outfile="binaries.txt"
  wildcard = ".txt .exe .dll .lib"
  
  file = open(outfile,"w")
  if not file:
    print ("cannot open the file %s for writing" % outfile)
  ListFilesToTxt(dir,file,wildcard, 1)
  
  file.close()
Test()

代码:(使用os.walk) walk递归地对目录及子目录处理,每次返回的三项分别为:当前递归的目录,当前递归的目录下的所有子目录,当前递归的目录下的所有文件。

import os
def ListFilesToTxt(dir,file,wildcard,recursion):
    exts = wildcard.split(" ")
    for root, subdirs, files in os.walk(dir):
        for name in files:
            for ext in exts:
                if(name.endswith(ext)):
                    file.write(name + "\n")
                    break
        if(not recursion):
            break
def Test():
  dir="J:\\1"
  outfile="binaries.txt"
  wildcard = ".txt .exe .dll .lib"
  
  file = open(outfile,"w")
  if not file:
    print ("cannot open the file %s for writing" % outfile)
  ListFilesToTxt(dir,file,wildcard, 0)
  
  file.close()
Test()

更多Python实现读取目录所有文件的文件名并保存到txt文件代码相关文章请关注PHP中文网!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn