2014-04-10 51 views
1

我有關於搜索目錄的圖像的問題。如果圖像存在創建文件,則文件應該具有名稱(目錄名稱)。示例anka.txt和文件應該是安裝目錄。Python搜索文件並創建輸出,寫內容

例子:

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

我如何可以搜索目錄中的馬,並將其輸出的所有圖像文件將與這些描述: 名= 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() 
+0

什麼是什麼,你現在有什麼問題?更加詳細一些。 – jonrsharpe

回答

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) 
+0

Thx很多!好,易於 :) –

0

您CA n使用glob來匹配您要查找的模式。

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