You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Python代码获取文件夹中名称最短的.txt文件

查找指定文件夹中名称最短的.txt文件

方法一:使用min()函数(简洁高效)

直接利用Python内置的min()函数,通过指定key参数按文件名长度筛选,是最简洁的实现方式:

import glob
import os

inpDir = "C:/Users/ft/Desktop/Folder"

# 获取目标文件夹下所有.txt文件的完整路径
txt_files = glob.glob(os.path.join(inpDir, "*.txt"))

if txt_files:
    # 按文件名(不含路径)的长度取最小值
    shortest_file = min(txt_files, key=lambda path: len(os.path.basename(path)))
    print("名称最短的.txt文件:", os.path.basename(shortest_file))
else:
    print("目标文件夹中没有找到.txt文件")

关键点说明:

  • 用os.path.join拼接路径,避免切换工作目录可能带来的问题,代码更健壮
  • os.path.basename(path)提取文件名(去掉完整路径),确保只比较文件名本身的长度
  • 先判断txt_files是否为空,防止空列表调用min()报错

方法二:手动遍历记录(适合理解逻辑)

如果想手动实现遍历比较的逻辑,可以这样修改你的原有代码:

import glob
import os

inpDir = "C:/Users/ft/Desktop/Folder"

os.chdir(inpDir)
txt_files = glob.glob("*.txt")

if not txt_files:
    print("没有找到任何.txt文件")
else:
    # 初始化最短文件和对应的长度
    shortest_name = txt_files[0]
    min_length = len(shortest_name)
    
    # 遍历剩余文件逐一比较
    for file in txt_files[1:]:
        current_len = len(file)
        if current_len < min_length:
            min_length = current_len
            shortest_name = file
    
    print("名称最短的.txt文件:", shortest_name)

关键点说明:

  • 先将第一个文件设为初始的"最短文件",然后遍历后续文件更新记录
  • 同样增加了空列表判断,避免无文件时出现错误

内容的提问来源于stack exchange,提问作者Joss Fres

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 05:46:08