【问题标题】:Subset files in a list that are stored in a directory列表中存储在目录中的子集文件
【发布时间】:2018-11-30 12:06:07
【问题描述】:

我有一个文件列表,如下所示:

 list1= [abc.txt,def.txt, pqr.txt]

我想将此文件保留在目录中并删除所有其他文件。

我查找文件的代码是:

list1= [/home/usr/Documents/abc.txt,/home/usr/Documents/def.txt, /home/usr/Documents/pqr.txt]

def search(trace,file_path)
   i=0
   for files in os.listdir(file_path):

    #print(i,' : Reading file: ' , files)
        if files == trace:
            i=i+1
            LOG.info(" %d Reading file : %s" % (i,files))

for traces in list1:
        trace = traces.rsplit('/',1)[1]
        print(trace)
        search(trace,file_path)

这个读取的文件子集,但我想删除所有其他文件,以便它能够快速解析目录,因为目前它会搜索 4000 个文件的名称以匹配 37 个名称。因此,它需要的迭代将是 37 *4000 ,或者我想在更少的迭代中完成。

【问题讨论】:

    标签: python list file directory


    【解决方案1】:

    您好,您可以使用 glob 模块查找与模式匹配的文件名 检查以下示例

    import glob
    print glob.glob("/home/usr/*/abc.txt")
    

    您可以在此处查看文档: https://docs.python.org/2/library/glob.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-14
      相关资源
      最近更新 更多