2017-11-10 18 views
0

Re .lower使用法(?)の大文字と小文字を区別しないで一致させるには辞書の値に一致する?たとえば、config[camID]["media_file"]]は、辞書に小文字のみが含まれていても、小文字と大文字の両方の拡張子に一致する必要があります。辞書から辞書値の大文字と小文字を区別しない一致

1行:

config['d5']['media_file'] = ('nef', 'jpg', 'avi') 

コード:

for f in files: 
    if any([f.endswith(x) for x in config[camID]["media_file"]]): 
     os.rename(os.path.join(path, f), 
        os.path.join(path, "%s%s%s" % (config[camID]['cam_name'], "_", f))) 

( "イン辞典" 溶液(すなわち、代わりにコードに存在する場合)、また興味深いものになるだろう)

+1

'f.lower().endswith(x)'を使用しますか? –

+1

check https://stackoverflow.com/questions/17355312/case-insensitive-string-search-of-dictionary – user5702319

答えて

2

dictにストアする前にデータを標準に変換する必要があります(下のように)。格納後は、辞書検索で大文字小文字を区別しない検索はできません。この検索はハッシュで行われるためです。

関連する問題