Python 基于查找表字符串匹配生成子目录

Python 基于查找表字符串匹配生成子目录,python,python-3.x,Python,Python 3.x,如何在那些目录中创建只与查找表中的字符串相匹配的子目录。使用os.path.join是否可行 例如,在那些以=d5、=g7或=a9结尾的cwd目录中,应该创建两个目录:\u raw\u files和\u sup\u files。如何根据查找表字符串(例如,config['g7'])指向os.path.join使其成为 创建目录之前和之后的结构: CWD 01_camdirab=d5

如何在那些目录中创建只与查找表中的字符串相匹配的子目录。使用
os.path.join
是否可行

例如,在那些
=d5
=g7
=a9
结尾的cwd目录中,应该创建两个目录:
\u raw\u files
\u sup\u files
。如何根据查找表
字符串(例如,
config['g7']
)指向
os.path.join
使其成为

创建目录之前和之后的结构:

CWD                                      
    01_camdirab=d5                       #<--create new dirs inside this
          /subdirs/.nef,.jpg,.avi
    02_camdirxyz=g7                      #<--create new dirs inside this
          /subdirs/.cr2,.jpg,.mp4
    03_camdire012345=a9                  #<--create new dirs inside this
          /subdirs/.mp4,.jpg,.avi
    04_camdire012345                     #<--DO NOT create new dirs inside (no string) this
          /subdirs/.mp4,.jpg,.avi


CWD
    01_camdirab=d5                       
          /_raw_files
          /_sup_files
          /subdirs/.nef,.jpg,.avi
    02_camdirxyz=g7                    
          /_raw_files
          /_sup_files
          /subdirs/.cr2,.jpg,.mp4
    03_camdire012345=a9                  
          /_raw_files
          /_sup_files
          /subdirs/.mp4,.jpg,.avi
    04_camdire012345                     
          /subdirs/.mp4,.jpg,.avi
试试这个:

def createDir(path):
    if not os.path.exists(path):
        os.mkdir(path)

import os
cwd = os.getcwd()

config = {
    'g7': {},
    'd5': {},
    'a9': {},
}    
config['g7']['append_dir_to_filename'] = 1
config['g7']['device_name'] = 'Canon-G7'
config['g7']['raw_file'] = ('cr2', 'jpg', 'mp4')
config['d5']['append_dir_to_filename'] = 1
config['d5']['device_name'] = 'Nikon-D5'
config['d5']['raw_file'] = ('nef', 'jpg', 'avi')
config['a9']['append_dir_to_filename'] = 1
config['a9']['device_name'] = 'Sony-alpha-a9'
config['a9']['raw_file'] = ('mp4', 'jpg', 'avi')

dirs_name = os.listdir(cwd)
for dir_name in dirs_name:
    for key_word in config:
        if dir_name.endswith(key_word):
            _raw_files = os.path.join(cwd, dir_name, r'_raw_files')
            _sup_files = os.path.join(cwd, dir_name, r'_sup_files')
            createDir(_raw_files)
            createDir(_sup_files)

请张贴您的愿望输出。函数os.listdir可能有帮助。使用输出更新。谢谢,谢谢。我正在尝试,但出现了错误(我的错误):
namererror:name'config'未定义
。如何使脚本识别此查找表?我在原始问题中插入了我正在运行的代码。你来裁决!工作起来很有魅力!非常感谢。
def createDir(path):
    if not os.path.exists(path):
        os.mkdir(path)

import os
cwd = os.getcwd()

config = {
    'g7': {},
    'd5': {},
    'a9': {},
}    
config['g7']['append_dir_to_filename'] = 1
config['g7']['device_name'] = 'Canon-G7'
config['g7']['raw_file'] = ('cr2', 'jpg', 'mp4')
config['d5']['append_dir_to_filename'] = 1
config['d5']['device_name'] = 'Nikon-D5'
config['d5']['raw_file'] = ('nef', 'jpg', 'avi')
config['a9']['append_dir_to_filename'] = 1
config['a9']['device_name'] = 'Sony-alpha-a9'
config['a9']['raw_file'] = ('mp4', 'jpg', 'avi')

dirs_name = os.listdir(cwd)
for dir_name in dirs_name:
    for key_word in config:
        if dir_name.endswith(key_word):
            _raw_files = os.path.join(cwd, dir_name, r'_raw_files')
            _sup_files = os.path.join(cwd, dir_name, r'_sup_files')
            createDir(_raw_files)
            createDir(_sup_files)