Python搜索文件并创建输出,编写内容

时间:2014-04-10 08:57:16

标签: python file search

我对通过目录搜索图片感到疑问。如果图像存在创建文件,则文件应具有名称(目录名称)。示例anka.txt和文件应该是insade dir。

示例:

--LICA
  -Horse
   -img1
    -img1.jpg
    -img2.jpg
   -img2
    -img2.jpg
   -img3
    -img3.jpg

如何搜索目录中的所有图像并将其输出到文件中,并附带以下说明: filename = horse.txt和内部马文件内容如下:

/LICA/Horse/img1/img1.jpg
/LICA/Horse/img1/img2.jpg
/LICA/Horse/img2/img2.jpg
/LICA/Horse/img3/img4.jpg

我的代码如下:

def create_positive_list():
    try:
        for directory, name, img in os.walk(path):
           for x in img:
                if x.endswith('.jpg'):
                    var_name = directory.split('/') # Split 
                    file_create = open(path+var_name[1]+'/'+var_name[1]+'.txt','w+') # Create file with name in directory

                    #print path+var_name[1]
                    print >> file_create, os.path.join(directory, x)

    except IOError, e:
        print "Error msg: %s"%e


create_positive_list()

2 个答案:

答案 0 :(得分:1)

您可以使用fnmatchos walk

import os
import fnmatch
path='Your Path'
with open(os.path.join(path,'horse.txt'),'w') as hfile:
    for r, d, fs in os.walk(path):
      for f in fnmatch.filter(fs, '*.jpg'):
          hfile.write(os.path.join(r, f))
          hfile.write(os.linesep)

答案 1 :(得分:0)

您可以使用glob来匹配您要查找的模式。

>>> import glob
>>> glob.glob('*.jpg')
['my.jpg']