如何在文件搜索算法中显示文件类型与完整文件名?
问题分析与修复
你的代码核心问题是:找到匹配文件时,你拼接的是搜索关键词而非实际的完整文件名,所以没法显示完整文件名和文件类型(后缀)。另外扫描文件数的统计逻辑可以简化。
修正后的代码
import os search_keyword = input('File Name: ') scanned_count = 0 for path, dirs, files in os.walk('C:\\'): for name in files: scanned_count += 1 if search_keyword in name: # 用os.path.join自动拼接完整路径,兼容不同系统路径分隔符 full_file_path = os.path.join(path, name) print(f'找到文件:{full_file_path}') print(f'共扫描 {scanned_count} 个文件')
改动说明
- 替换路径拼接逻辑为
os.path.join(path, name),直接生成包含完整文件名(含后缀)的绝对路径,自然就能显示文件类型。 - 扫描计数移到文件循环的最外层,不用在判断分支里重复编写,逻辑更简洁。
- 变量名改为更直观的
search_keyword和scanned_count,提升代码可读性。
内容的提问来源于stack exchange,提问作者NO1
相关产品推荐
相关产品推荐

