2016-12-02 5 views
1

Моей компании уже файлы с именемпитона - найти имена файлов отличаются FOLDERNAME

"3688-35(DUSTY GREY-BLK).jpg" 
"3688-36A(SLIVER).jpg" 
"..." 

, который должен быть помещен в папке «».

после многих лет я сталкиваюсь 6 цифр фотографий и ~ 3500 папок с бесчисленными неуместными снимками должны быть проверен помещаются в нужной папке,

Так что я думаю, что я могу написать сценарий можно перечислить только неправильно размещены файлы и папки, как

"1111/1112.jpg" 
"1234/1243.jpg" 

после того как я сделать некоторые поиск я нахожу match filenames to foldernames then move files вроде того, что мне нужно, но я не могу изменить ответ на мою необходимость, так как шаблон имен файлов.

Я застрял вначале, но я думаю, https://pymotw.com/2/glob/ может сделать некоторые трюки при включении и с https://linux.die.net/man/3/fnmatch?

ответ

0

Я решил свою проблему.

from glob import glob 
import logging, time, os 

def listdirs(path): 
    return [d for d in os.listdir(path) if os.path.isdir(d)] 

def find_pics(): 
    folders = listdirs(".") 
    for dir in folders: 
     time.sleep(0.3) 
     pics = os.listdir(dir) 
     for pic in pics: 
      if pic.endswith(".jpg"): 
       if dir not in pic: 
        logging.warning(dir + '/' + pic) 
       else: 
        pass 
      else: 
       pass 
    return 

def main(): 
    logging.basicConfig(filename='wrong_placed.log', filemode='w', level=logging.INFO, format='%(asctime)s [%(levelname)s] %(message)s \n') 
    logging.debug("Starting to check is the picture wrong placed.") 
    find_pics() 
    return 

if __name__ == '__main__': 
    main()