0

我正在从这样的配置文件中加载扩展;

search_ext = tuple((config.get("Miscellaneous", "media") + config.get("Miscellaneous", "meta") + config.get("Miscellaneous", "other")).split('|'))

在配置文件中,扩展名是这样列出的;

媒体 = .mkv|.avi|.divx|.xvid|.mov|.wmv|.mp4|.mpg|.mpeg|.vob|.iso

元 = .nfo|.sub|.srt|.jpg|.jpeg|.gif|.txt

其他 = .exe|.pdf

然后使用 os.walk 遍历文件列表,使用 .endswith 进行搜索

if fileName.endswith(search_ext):

但它似乎总是错过最后一个扩展名,例如在这种情况下它将是.pdf。通过添加 .unknown 之类的虚假扩展名可以轻松绕过。但这是为什么呢?这和我的元组有什么关系吗?

4

1 回答 1

2

去除配置值周围的空间。(根据 ,这可能不是问题config

的最后一个元素media和第一个元素meta连接在一起,没有分隔符。(同样适用于meta, other

search_ext = (
     config.get("Miscellaneous", "media").strip() + '|' +
     config.get("Miscellaneous", "meta").strip() + '|' +
     config.get("Miscellaneous", "other").strip()
).split('|')
于 2013-06-26T10:39:22.067 回答