首页 > 解决方案 > 使用 glob 排除时间序列文件

问题描述

我在一个目录中的文件是跨越数年的月度数据,其字符为 0001-01-01、0001-02-01、...、0005-01-01、...、0010-12-01(yyyy-mm -dd) 在每个文件名的中间。

现在,我想排除 0001* 文件。如果我写sorted(glob.glob(mydirectory/filename-000[!1]*))只给我 0002 ~~ 0009 文件,而 0010 文件不包括在内。

我应该怎么做才能只排除 0001* 文件?

如果我写sorted(glob.glob(mydirectory/filename-000[2-9]*))的也只给了我 0002-0009 文件,我应该怎么做才能包含 0010* 文件?

我也试过filename-{000[2-9],00[10-12]}*了,还是不行。

谢谢,

标签: pythonglob

解决方案


只需将两个球加在一起。

files = glob.glob(mydirectory/filename-000[!1]*) + glob.glob(mydirectory/filename-0010*)

推荐阅读