Python Lambda文件排序/限制



我正在读取一个文件目录,并试图根据文件名中是否存在字符串来筛选出文件,因此我有两种文件名类型:

  • 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.开头

您也不需要设置要排序的键,因为您希望根据文件名进行排序。

最新更新