当前位置 博文首页 > Python实现读取目录所有文件的文件名并保存到txt文件代码

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

    作者:admin 时间:2021-07-18 18:50

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

    jsjbwy
    下一篇:没有了