Python重命名文件并移动到对应文件夹

2025-02-25 05:50

本文主要是介绍Python重命名文件并移动到对应文件夹,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Python重命名文件并移动到对应文件夹》在日常的文件管理和处理过程中,我们可能会遇到需要将文件整理到不同文件夹中的需求,下面我们就来看看如何使用Python实现重命名文件并移动到对应文件夹吧...

在日常的文件管理和处理过程中,我们可能会遇到需要将文件整理到不同文件夹中的需求。例如,我们有一个包含多个文件的目录,文件名的首字符表示文件应该存放在哪个文件夹中。我们可以使用python脚本来自动完成这个任务,实现文件的分类整理。本文将介绍如何通过Python编写一个脚本来实现以下功能:

检查并删除空文件夹

将文件按照文件名的首字符分类,移动到对应的文件夹中。

1. 基本需求

假设我们有一个文件夹save,其中包含多个文件和一些空文件夹。我们需要做以下几件事:

删除空文件夹:首先检查文件夹是否为空编程,如果是空文件夹,删除它。

移动文件到对应文件夹:根据文件名的首字母,将文件移动到相应的文件夹中。

2. 实现代码解析

import os
import shutil
 
# 设置文件保存路径
save_path = './save'
 
# 遍历目录下的所有文件和文件夹
for fjsile in os.listdir(save_path):
    # 如果是文件夹
    if os.path.isdir(os.path.join(save_path, file)):
        try:
            # 尝试删除空文件夹
            os.rmdir(os.path.join(save_path, file))
            print('删除空文件夹:', file)
        except Exception as e:
            # 如果文件夹不为空,捕获异常并输出错误信息
            print('>>>', e)
        continue
 
    # 获取文件名的首字母
    file_dir = os.path.join(save_path, file[0])
 
    # 如果目标文件夹不存在,则创建它
    if not os.path.exists(file_dir):
        os.mkdir(file_dir)
 
    # 移动文件到对应的文件夹
    shutil.move(os.path.join(save_path, file), os.path.join(file_dir, file))

3. 代码解释

3.1 os.listdir(save_path)

os.listdir(save_path) 会列出 save 文件夹下的所有文件和文件夹名称。返回的内容是一个包含文件名(包括文件夹和文件)的列表。

3.2 删除空文件夹

if os.path.isdir(os.path.join(save_path, file)):
    try:
        os.rmdir(os.path.join(save_path, file))
        print('删除空文件夹:', file)
    except Exception as e:
        print('>>>', e)
    continue

os.path.isdir:检查指定路径是否为文件夹。

os.rmdjavascriptir:删除空文件夹。如果文件夹不为空,删除会失败并抛出异常,我们通过try-except来捕获异常并输出错误信息。

如果该项是空文件夹,则打印提示信息并跳过该文件夹,继续处理其他文件。

3.3 根据文件首字母分类并移动文件

file_dir = os.path.join(save_path, file[0])
 
if not os.path.exists(file_dir):
    os.mkdir(file_dir)
 
shutil.move(os.path.join(save_path, file), os.path.join(file_dir, file))

file[0]:获取文件名的首字母,这决定了文件应该被分类到哪个文件夹中。

os.path.exists(file_dir):检查目标文件夹是否存在。如果不存在,则使用os.mkdir创建一个新文件夹。

shutil.move:将文件从源路径移动到目标路径。

4. 代码执行结果

运行该脚本后,系统会遍历save目录下的所有文件,执行以下操作:

删除所有空的文件夹。

根据每个文件名的首字母创建新的文件夹,并将文件移动到对应的文件夹中。

例如,假设save文件夹中有以下文件:

apple.txt
banana.docx
cat.pdf
空文件夹folder1

执行脚本后,save目录下将会有三个新的文件夹:

a/,包含apple.txt
b/,包含banana.docx
c/,包含cat.pdf

空文件夹folder1将被删除。

5. 总结

这段Python代码通过os和shutil模块实现了自动化的文件分类和空文件夹删除。这样的脚本在文件整理、数据清理等场景下非常有用。你可以根据实际需求修改文件夹分类规则,例如使用文件的扩展名、文件大小等作为分类标准。

方法补充

下面小编为大家整理了一下python快速移动文件内容到另一个文件夹的示例代码,希望对大家有所帮助

一–>多

代码如下,方便备用:

import shutil
import os

def remove_file(old_path, new_path):
    print(old_path)
    print(new_path)
    filelist = os.listdir(old_path)  # 列出该目录下的所有文件,listdir返回的文件列表是不包含路径的。
    # print(filelist)
    for i, file in enumerate(filelist):
        src = os.path.join(old_path, file)
        dst = os.path.join(new_path, file)
        # print('src:', src)
        # print('dst:', dst)
        shutil.move(src, dst)
        # 如果是复制,改成如下代码
        # shutil.copy(src, dst)
        # 拆分数量
        if (javascripti == 999):
            break

if __name__ == '__main__':
    for i in range(1, 12):
        name = '新建文件夹' + str(i)
        if os.path.exists(name)==False:
            os.mkdir(name)
        remove_file(r"F:\图片名称\图片", name)

多&njsdash;>一

import shutil
import os

def remove_file(old_path, new_path):
    print(old_path)
    print(new_path)
    filelist = os.listdir(old_path)  # 列出该目录下的所有文件,listdir返回的文件列表是不包含路径的。
    # print(filelist)
    for i, file in enumerate(filelist):
        src = os.path.join(old_path, file)
        dst = os.path.join(new_path, file)
        # print('src:', src)
        # print('dst:', dst)
        shutil.move(src, dst)
        # 如果是复制,改成如下代码
        # shutil.copy(src, dst)		

if __name__ == '__main__':
    for i in range(1, 12):
        name = '新建文件夹' + str(i)
        remove_file(name, r"E:\服务器数据\test_latest\11068")

到此这篇关于Python重命名文件并移动到对应文件夹的文章就介绍到这了,更多相关Python重命名文件内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于Python重命名文件并移动到对应文件夹的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1153533

相关文章

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python ZIP文件操作技巧详解

《PythonZIP文件操作技巧详解》在数据处理和系统开发中,ZIP文件操作是开发者必须掌握的核心技能,Python标准库提供的zipfile模块以简洁的API和跨平台特性,成为处理ZIP文件的首选... 目录一、ZIP文件操作基础三板斧1.1 创建压缩包1.2 解压操作1.3 文件遍历与信息获取二、进阶技

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

python实现svg图片转换为png和gif

《python实现svg图片转换为png和gif》这篇文章主要为大家详细介绍了python如何实现将svg图片格式转换为png和gif,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录python实现svg图片转换为png和gifpython实现图片格式之间的相互转换延展:基于Py

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.