我正在读取一个文件目录,并试图根据文件名中是否存在字符串来筛选出文件,因此我有两种文件名类型:
- till_200810150309.gz
- flod_20200810150310.gz
下面的代码片段可以读取文件,但我试图将其仅限于till
文件,它目前正在返回目录中找到的所有文件,而不是仅筛选出till
文件。
files = sorted([f for f in os.listdir(root_directory) if os.path.isfile(os.path.join(root_directory, f)) and f.endswith('.gz')], key=lambda x: x if "till" in x else "")
使用或多或少相同的策略,您可以添加第三个条件:
files = sorted([f for f in os.listdir(root_directory) if os.path.isfile(os.path.join(root_directory, f)) and f.endswith('.gz') and f.startswith("till")])
这将限制文件只能以till.开头
您也不需要设置要排序的键,因为您希望根据文件名进行排序。