分享

Python实现读取目录所有文件的文件名并保存到txt文件代码

 Four兄 2019-08-23

代码: (使用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()

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多