glob中的转义

glob模块中,如果目录名中含有[][]是通配字符,需要对其进行转义。

For a literal match, wrap the meta-characters in brackets. For example, ‘[?]’ matches the character ‘?’.

import glob



my_dir = 'E:\\Downloads\\BaiduNetdiskDownload\\《三国演义》[94年央视版 自带注释][全84集][480P MKV]_\\'

my_dir_ = ''
for c in my_dir:
    if c == '[':
        c = '[[]'
    elif c == ']':
        c = '[]]'
    else:
        c = c
    my_dir_ = my_dir_ + c
    
print([my_dir])
print([my_dir_])

#print(glob.glob(my_dir_+r'*.mkv'))



输出:

['E:\\Downloads\\BaiduNetdiskDownload\\《三国演义》[94年央视版 自带注释][全84集][480P MKV]_\\']
['E:\\Downloads\\BaiduNetdiskDownload\\《三国演义》[[]94年央视版 自带注释[]][[]全84集[]][[]480P MKV[]]_\\']

你可能感兴趣的:(Python)