首页 > 解决方案 > 在python中按文件名的一部分查找文件

问题描述

我需要按部分文件名搜索。

我的数据库中有一个包含产品名称的列,并且每个产品都有一个用于描述的文件,因此我需要将此文件添加到数据库中的相同原始文件中。

我想添加一个名为description的新列,并在列名上添加同名文件的内容,但列和文件中的名称不同,例如数据库中名为cs12的产品和datasheet-cs12或guide-cs12或文件中的任何类似内容

标签: pythonpython-3.xdatabasesearchtext

解决方案


你需要弄清楚如何

  1. 获取文件夹中的文件列表
  2. 在该列表的每个元素中查找子字符串

回复 1.: https://stackoverflow.com/search?q=%5Bpython%5D+get+list+of+files+in+directory

回复 2:

你有一个逻辑问题。可能有多个文件匹配任何字符串。所以,我认为你根本无法完全自动解决这个问题。如果您有两个文件datasheet_BAT54alternative.txtandinfo_BAT54A和两行包含字符串BAT54and怎么办BAT54A?“BAT54”与“BAT54A”不同。因此,您将始终需要处理候选人名单。如果幸运的话,该列表只有一个条目:

def give_candidates(list_of_file_names, substring):
    return [ fname for fname in file_names if substring.lower() in fname.lower() ]

推荐阅读