Python实现精确匹配文件名并跳出for循环的方法
问题解决:精确匹配文件名并找到后终止循环
修改后的代码如下:
import os folderPath = "my images folder path" pathList = os.listdir(folderPath) myID = input("Enter Your ID: ").strip() # 去除输入前后空格,避免误判 found = False for path in pathList: file_name_no_ext = os.path.splitext(path)[0] # 精确匹配文件名(不含后缀) if myID == file_name_no_ext: print(file_name_no_ext) found = True break # 找到匹配项后立即跳出循环 # 循环结束后未找到匹配才输出错误提示 if not found: print("Incorrect")
关键修改点:
- 将原代码的包含判断
if myID in myIDList:改为精确相等判断if myID == file_name_no_ext:,确保只有输入ID和文件名(不含后缀)完全一致时才触发匹配。 - 新增
found状态标记,配合循环结束后的判断,避免原代码每次循环都输出错误信息的问题,仅在完全未找到匹配时提示错误。 - 使用
break语句,找到匹配项后立即终止循环,无需遍历剩余文件,提升执行效率。 - 给输入的
myID添加.strip()方法,处理用户不小心输入前后空格的情况,避免不必要的匹配失败。
内容的提问来源于stack exchange,提问作者Ginormica
相关产品推荐
相关产品推荐

