我非常了解Python3中的文件通配。但是,官方的Python3文档没有任何关于我想问的内容。我有一个包含许多Xaiml文件的文件夹(Betabots的XML数据库)。我正在将某些文件分组在一起。例如,我用过
glob.glob('./temp/xaiml2/[IiJjKkLlPpQqRr]*.[Xx][Aa][Ii][Mm][Ll]')
以便我以后可以将这些文件放到一个文件中。这是挑战,我想将文件组合在一起,以S,s,T,t,U,u,V,v和dict8开头。是的,文件以完整字符串开头,后面可能包含其他字符。我尝试过像[SsTtUuVv'dict8']这样的代码,但是glob命令不喜欢('SyntaxError:invalid syntax')。这是可能的,如果是的话,怎么样? glob.glob甚至是这个用法的正确命令吗?
答案 0 :(得分:2)
您需要使用os.listdir()
来获取目录内容,然后使用re.match()
来匹配文件名内容。
[f for f in os.listdir(somedir) if re.match(r'([s-v]|dict8).*\.xaiml', f, re.I)]