python - 在python中按文件名的一部分查找文件
问题描述
我需要按部分文件名搜索。
我的数据库中有一个包含产品名称的列,并且每个产品都有一个用于描述的文件,因此我需要将此文件添加到数据库中的相同原始文件中。
我想添加一个名为description的新列,并在列名上添加同名文件的内容,但列和文件中的名称不同,例如数据库中名为cs12的产品和datasheet-cs12或guide-cs12或文件中的任何类似内容
解决方案
你需要弄清楚如何
- 获取文件夹中的文件列表
- 在该列表的每个元素中查找子字符串
回复 1.: https://stackoverflow.com/search?q=%5Bpython%5D+get+list+of+files+in+directory
回复 2:
你有一个逻辑问题。可能有多个文件匹配任何字符串。所以,我认为你根本无法完全自动解决这个问题。如果您有两个文件datasheet_BAT54alternative.txt
andinfo_BAT54A
和两行包含字符串BAT54
and怎么办BAT54A
?“BAT54”与“BAT54A”不同。因此,您将始终需要处理候选人名单。如果幸运的话,该列表只有一个条目:
def give_candidates(list_of_file_names, substring):
return [ fname for fname in file_names if substring.lower() in fname.lower() ]
推荐阅读
- r - R STUDIO:我无法读取 .csv 中的 Ü 等特殊字符
- mysql - 用 if else 语句更新 mysqli 中的一行
- python - 将装饰器应用于 Python 类
- html - 我的描述文字没有响应,但输入的文字效果很好
- python - 从包含 self 的不同 Python 文件导入变量
- express - 将nginx与expressJS结合使用时,我应该在express还是nginx中使用压缩?
- c++ - 尝试通过 memcpy 复制大尺寸浮点向量时出现分段错误
- javascript - 如何根据不同变量的属性值对 JSON 数据进行分组?
- laravel - 在 Laravel 中获得雄辩的链接以从 mysql 复制连接
- javascript - 如果从 IBM Domino lotusscript 代理收到的响应文本有一个“€”符号,那么它显示的是€