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

如何用Python先写入文件夹内奇数序号文件名再写入偶数序号文件名到文本文件

Python实现先写入奇数序号文件名再写入偶数序号文件名

假设你的文件名格式是XX.png(XX为两位数字序号),可以按以下步骤实现需求:

  1. 分类文件名:遍历文件夹时,提取每个文件名的序号,判断奇偶后分别存入两个列表
  2. 有序排序:对两个列表按序号从小到大排序,保证写入顺序符合预期
  3. 写入文件:先写入所有奇数序号的文件名,再写入偶数序号的文件名

完整代码示例

import os

# 指定目标文件夹路径
folder_path = "./your_target_folder"
# 初始化存储奇偶文件名的列表
odd_files = []
even_files = []

# 遍历文件夹内的所有文件
for filename in os.listdir(folder_path):
    # 只处理png文件(可根据需求修改后缀)
    if filename.endswith(".png"):
        # 提取序号部分并转为整数(去掉后缀,忽略前导零)
        try:
            file_num = int(filename.split(".")[0])
        except ValueError:
            # 跳过不符合格式的文件
            continue
        # 判断奇偶并分类
        if file_num % 2 == 1:
            odd_files.append(filename)
        else:
            even_files.append(filename)

# 对两个列表按序号排序(保证顺序从小到大)
odd_files.sort(key=lambda x: int(x.split(".")[0]))
even_files.sort(key=lambda x: int(x.split(".")[0]))

# 写入到文本文件
with open("sorted_files.txt", "w", encoding="utf-8") as f:
    # 先写奇数序号文件
    for file in odd_files:
        f.write(file + "\n")
    # 再写偶数序号文件
    for file in even_files:
        f.write(file + "\n")

关键说明

  • 序号提取:通过filename.split(".")[0]获取文件名的数字部分,转成整数后判断奇偶,自动忽略前导零的影响
  • 排序处理:使用sort()方法配合lambda表达式,按序号大小排序,避免遍历文件夹时的无序问题
  • 异常处理:加入try-except跳过不符合XX.png格式的文件,避免程序报错

内容的提问来源于stack exchange,提问作者Dustin N

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:50:43