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

如何用Python按文件夹最后文件名的序号续存文件

问题

我的目录中已有以下文件:

COL_1001.png
COL_1002.png

下次保存新文件时,希望自动命名为COL_1003.png。我正在使用Python的shutil库,现有一段示例代码,请问如何修改代码实现这个自动递增编号的需求?

现有示例代码:

allfiles = os.listdir(src)

c = 1001
for f in allfiles:
    if f in files and len(selected_prop)>0:
        s = f
        s = f.split('.')
        s[0] = projCode + '_' + selected_prop[0] + '_COL.' + str(c)
        k = '.'.join(s)
        shutil.copy( src + '\\' + f, os.path.join(dst,k))
        c += 1
解决方案

要实现自动获取下一个递增编号,核心是先从现有文件中提取最大的编号值,再以此为基础生成新文件名。以下是修改后的代码:

import os
import shutil

# 替换为你的实际路径和变量值
src = "你的源目录路径"
dst = "你的目标目录路径"
projCode = "你的项目代码"
selected_prop = ["目标属性值"]
files = []  # 你的目标文件列表,根据实际情况赋值

# 提取现有COL_格式文件的最大编号
max_col_num = 0
for filename in os.listdir(src):
    # 筛选符合COL_XXX.png格式的文件
    if filename.startswith("COL_") and filename.endswith(".png"):
        try:
            # 拆分文件名获取数字部分
            num_str = filename.split("_")[1].split(".")[0]
            current_num = int(num_str)
            if current_num > max_col_num:
                max_col_num = current_num
        except (IndexError, ValueError):
            # 文件名格式不符合则跳过
            continue

# 确定新文件的起始编号
start_num = max_col_num + 1 if max_col_num != 0 else 1001

# 沿用原代码逻辑处理文件,使用新的起始编号
current_num = start_num
for f in allfiles:
    if f in files and len(selected_prop) > 0:
        name_parts = f.split('.')
        # 修正命名格式为下划线连接(和COL_1001格式统一)
        name_parts[0] = f"{projCode}_{selected_prop[0]}_COL_{current_num}"
        new_filename = '.'.join(name_parts)
        # 使用os.path.join拼接路径,避免系统路径分隔符问题
        shutil.copy(os.path.join(src, f), os.path.join(dst, new_filename))
        current_num += 1

关键说明

  1. 编号提取逻辑:遍历目录筛选COL_开头的png文件,拆分文件名提取数字部分,记录最大的编号值。
  2. 起始编号确定:如果已有COL_文件,新编号为最大编号+1;如果没有,则默认从1001开始。
  3. 路径拼接优化:用os.path.join替代手动拼接路径,避免Windows和Linux系统路径分隔符的问题。
  4. 命名格式修正:原代码中使用.连接编号(如COL.1001),这里改为下划线_,和你示例的COL_1001.png格式保持一致,若你需要保留原格式,可改回.。

内容的提问来源于stack exchange,提问作者Kartikey Sinha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:31:06