【问题标题】:Finding files in a list by partial name in Python在 Python 中按部分名称查找列表中的文件
【发布时间】:2017-08-27 22:02:19
【问题描述】:

我有一个完整文件路径的列表:

filelist = [
    "C:\Folder1\Files\fileabc.txt",
    "C:\Folder1\Files\filedef.txt",
    "C:\Folder2\Data\file123.txt"
]

我想通过它的基本名称在列表中找到一个文件,带有扩展名,但不指定完整路径。

我尝试过这样的事情:

name = "filedef.txt"

if name in filelist:
   print "Found"

但它不起作用。

有什么提示吗?

【问题讨论】:

    标签: python file search path match


    【解决方案1】:

    你需要做两件事。首先,遍历数组。二、转义\特殊字符。

    paths = [r'C:\Folder1\Files\fileabc.txt', r'C:\Folder1\Files\filedef.txt', r'C:\Folder2\Data\file123.txt']
    
    name = 'filedef.txt'
    
    for path in paths:
       if name in path:
           print('Found', path)
    

    【讨论】:

    • 无法弄清楚如何为路径列表中的路径转义“\”。这里提出了一个类似的问题:stackoverflow.com/questions/21605526/…,但答案对我没有太大帮助。
    • 我确实明白,但我的问题是我从 GUI 界面获取文件列表中的名称并按如下方式填充列表:filelist.append(str(filename)),其中返回文件名从标准文件对话框。在这种情况下,无法弄清楚如何避免名称中的反冲。
    猜你喜欢
    • 2021-09-26
    • 1970-01-01
    • 2020-02-20
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    相关资源
    最近更新 更多