我正在查看glob手册页,我无法在python中使匹配模式工作。我有这个迄今为止...python glob匹配模式
glob.glob('file.*') + glob.glob('file[0-9].*')
这一点也适用,并且只要回到我的清单作为文件编号Ø不超过9.如果我做一个file100.txt它不工作,如果我尝试范围[0-100]或[0-1000]它不会改变任何东西...
所以我的问题是我怎么能使这场比赛任何数字....还有我怎么能结合成一个声明,似乎应该是一次声明。
我正在查看glob手册页,我无法在python中使匹配模式工作。我有这个迄今为止...python glob匹配模式
glob.glob('file.*') + glob.glob('file[0-9].*')
这一点也适用,并且只要回到我的清单作为文件编号Ø不超过9.如果我做一个file100.txt它不工作,如果我尝试范围[0-100]或[0-1000]它不会改变任何东西...
所以我的问题是我怎么能使这场比赛任何数字....还有我怎么能结合成一个声明,似乎应该是一次声明。
我很确定glob
没有足够的表现力来做你想做的事情,所以我建议你抓取比你需要的更多,然后过滤。例如。 (未经测试)
import re
file_names = [name for name in glob.glob('file*.*') if re.match(r'^file\d*\.', name]
普通globbing不处理这种类型的事情。您无法指定特定字符模式的重复。您将无法通过一次通话完成。最好的办法是仅使用file*.txt
,然后对结果列表进行后处理,以消除与您的模式不匹配的列表,例如使用re
模块中的正则表达式函数。