2015-10-05 3 views
0

Я хочу найти названия карт на картах. Для того, чтобы сделать его более ясным, что я хочу, это структура карты:Поиск подкачки на картах

\All data 
    \Submap1 
     \SubSubmap1 
     \some files 
     \Subsubmap2 

    \Submap2 
    \Submap3 

То, что я хочу сделать, это поиск SubSubmap годов. Я хочу найти их под именем подзадачи.

Надеюсь, вы, ребята, можете начать меня, потому что я не могу найти способ поиска по названию карты.

+0

Как вы храните это в python? –

+0

Для других программ я использовал путь и прошел через все файлы с циклом for. Насколько мне известно, это невозможно для карт. Особенно, если мне нужно пойти в эти карты для подмапок. Все эти карты и данные локально хранятся. – Jayyzz

+0

Я бы сказал, что вам нужно «os.walk». – xbello

ответ

0

Давайте использовать explore() функцию от here, чтобы сохранить результат os.walk() в словаре.

И после этого просто перебирайте имена и сопоставляйте их с рисунком.

Мои папки:

.\all_data 
.\all_data\sub1 
.\all_data\sub1\subsub1 
.\all_data\sub1\subsub1\some_files 
.\all_data\sub1\subsub2 
.\all_data\sub2 

def explore(starting_path): 
    alld = {'': {}} 

    for dirpath, dirnames, filenames in os.walk(starting_path): 
    d = alld 
    dirpath = dirpath[len(starting_path):] 
    for subd in dirpath.split(os.sep): 
     based = d 
     d = d[subd] 
    if dirnames: 
     for dn in dirnames: 
     d[dn] = {} 
    else: 
     based[subd] = filenames 
    return alld[''] 

data = explore('.') 

for k, v in data['all_data'].iteritems(): 
    if v: 
     for key in v: 
      if 'subsub' in key: 
       print key 

>>> {'all_data': {'sub1': {'subsub1': {'some_files': []}, 'subsub2': []}, 
      'sub2': []}} 
>>> subsub2 
>>> subsub1 

Вы могли бы использовать более умнее проверки здесь if 'subsub' in key:, как регулярное выражение и так далее.

+0

Удивительный, работает как шарм ^^. Спасибо за большую помощь :). – Jayyzz

+0

Я пытаюсь перебирать список поисковых запросов с помощью этого кода, только тогда все умножается на количество элементов в моем списке. Как я могу по-прежнему перебирать свой список поисковых машин (заменяя «subsub» на «if» subsub in key ») – Jayyzz

Смежные вопросы