Python - 将列表转换为小写,解析输入值,return 输入和原始(未转换的)列表条目

Python - Convert list to lower case, parse for input value, return input and original (unconverted) list entry

对此还很陌生,如果这不是技术要求最高的问题,我们深表歉意。

我有一大堆文件名要搜索(大约 3k),生成一个解决方案来获取输入字符串、检查列表并告诉我文件是否存在是相当简单的。 但是,下一阶段要求我在另一个区分大小写的系统上打开文件。

基本上我想输入我的文件名(无论如何),检查文件名列表,确认文件是否存在,但 return 原始文件名大小写正确。

    For example
    search for newfile.txt
    check the list and return the actual case of NeWfILE.txt, perhaps
    newfile.txt found - actual file - NeWfILE.txt or similar

我想知道是否有人可以为我解决这个问题。 我已经包括了我一直在玩的东西,而不是我的最终想法。

    import JSON
    import glob, os
            
    file_name = input("Enter file name you are looking for:  ")
            
    path= (r"C:\Users\Ozzie\new_folder\file_list")
    os.chdir(path)
    list = glob.glob("*.txt")
            
    list_check = {item.lower() for item in list}
    if file_name.lower() in list_check:
        print(file_name +" Found")
    else:
        print(file_name + "Not Found")

我认为将 list_check 更改为字典应该可以解决您的问题。创建一个将文件的小写名称映射到原始名称的字典。

它应该看起来像:

list_check = {item.lower(): item for item in list}
if file_name.lower() in list_check:
    print(file_name +" Found as" + list_check[file_name.lower()])
else:
    print(file_name + "Not Found")