使用Python根据扩展名将子目录的文件移动到指定目的目录

python文件的迁移 import os import shutil os.chdir("C:\\Users\\layer\\Desktop\\1314") a= os.listdir() print(a) for i in a: b= "C:\\Users\\layer\\Desktop\\1314\\"+i c= "D:\\file0512\\"+i shutil.copyfile(b,c) 1.首先我们先导入模块导入os模块(os模块里面有很多的模块这是主题) 然后导入shutil模块() os 阅读详情

功能说明

将源目录下子目录中的文件移动到指定目的目录。要求如下:

  • 子目录中仅包含指定扩展名的文件才会移动文件。
  • 如果目的目录已包含同名文件,将文件重命名为原文件名 13位时间戳

例如:
当前目录结构如下:

test
│  2.txt
│
├─1
│  │  1.txt
│  │
│  └─2
│          2.txt
│
├─2
│  │  3.txt
│  │
│  └─3
└─3
        2.txt

运行后的目录结构如下:

test
│  2 1618156462496.txt
│  2.txt
│
├─1
│  │  1.txt
│  │
│  └─2
│          2.txt
│
├─2
│  │  3.txt
│  │
│  └─3
└─3

仅移动了子目录3中的2.txt。由于1、2子目录包含子目录,因此其目录中的文件不会被移动。

代码

import os
import shutil
import time
from pathlib import Path


# 生成时间戳
def now_to_timestamp(digits=13):
    time_stamp = time.time()
    digits = 10 ** (digits - 10)
    time_stamp = int(round(time_stamp*digits))
    return time_stamp

# 移动文件
def move_files(src_dir, dest_dir, ext_filter):
    '''
    src_dir:源目录
    dest_dir:目的目录
    ext_filter:扩展名列表
    '''
    # 获取源目录中的子目录和子文件
    sub_dirs = os.listdir(src_dir)
    # 遍历子目录、子文件
    for sub_dir in sub_dirs:
        # 构造子目录路径
        sub_dir_path = os.path.join(src_dir, sub_dir)
        # 遍历当前子目录
        for root, dirs, files in os.walk(sub_dir_path):
            # 只有当前子目录下仅有文件时,继续运行
            ext_list = [i for i in files if not i.lower().endswith(ext_filter)]
            if root == sub_dir_path and len(dirs) == 0 and len(files) > 0 and len(ext_list) == 0:
                for file in files:
                    # 构造文件路径
                    file_path = os.path.join(root, file)
                    new_file_path = os.path.join(dest_dir, file)
                    # 检测文件扩展名是否符合要求
                    if Path(file_path).suffix.lower() in ext_filter:
                        # 检测目的文件路径是否存在,不存在直接移动,存在更名后再移动
                        if not os.path.exists(new_file_path):
                            pass
                        else:
                            # 重命名文件
                            new_file_name = Path(
                                new_file_path).stem + " " + str(now_to_timestamp()) + Path(new_file_path).suffix
                            new_file_path = os.path.join(
                                dest_dir, new_file_name)
                        # 移动文件
                        shutil.move(file_path, new_file_path)
                        print(file_path, '->', new_file_path)


if __name__ == '__main__':
    src_dir = r'd:\test'
    dest_dir = r'd:\test'
    exts = ('.txt')
    move_files(src_dir, dest_dir, exts)
操作系统之文件管理(一) 第1关:移动文件 请通过Python编程,将一个目录下的文件全部移动到另一个目录下。 import os import shutil def movefiles(sourceDir, targetDir): # 请在此添加代码,补全函数movefiles 实现将sourceDir下文件移动到targetDir下的功能 #-----------Begin---------- if not os.path.exists(targetDir): os.mkdir(tar 阅读详情

相关推荐

新手向:使用Python自动化清理指定目录中的临时文件

本文介绍了一个使用Python开发的临时文件清理工具,该工具可自动扫描指定目录及其子目录,识别常见临时文件格式(如.tmp、.bak等)并安全删除。工具特性包括:递归目录扫描、排除特定文件/目录功能、清理报告生成,以及详细的错误处理。核心代码采用面向对象设计,通过类封装实现了文件识别、安全删除和统计报告功能。文章还提供了高级应用建议,如配置文件支持、日志记录和多线程优化,并强调了安全注意事项和单元测试的重要性。该工具仅需Python标准库,适合用于自动化系统维护。

这个人的博客 1727

写一个批处理:将子文件夹内的文件移动到当前目录下

批处理,移动文件到当前目录 将子文件夹内的文件移动到当前目录下

c_1969的博客 4270

使用Python批量复制文件夹及其子文件夹下的指定文件

在数据处理和文件管理的日常工作中,我们经常需要复制文件夹及其子文件夹下的特定文件。os模块提供了与操作系统交互的接口,而shutil模块则提供了更高级的文件操作功能,如复制、移动和删除文件等。要实现批量复制文件夹及其子文件夹下的指定文件,我们需要编写一个递归函数来遍历目录树,并在每个目录中使用shutil.copy2()函数来复制符合条件的文件。最后,我们调用copy_specific_files()函数,并传入src_dir、dst_dir和要复制的文件扩展名.log。

这家伙很懒,什么都没有留下 3316

文件夹存在多个子目录 将所有文件取出整体迁移

在一个文件夹目录下存在多个子文件夹并且这些子文件夹中同时存在多个文件 当我们想把这些文件全部搬到一个新的文件路径下时 无需一个一个复制粘贴 只需要全部将所有的子文件夹中文件全部取出 同时放入新文件夹即可。如:文件夹存在子目录 子目录中还有多个文件存在 我们想要将文件全部取出 无需逐个打开文件复制 而可以整体迁移到新路径下。

zhaojo的博客 824

Python实现的智能文件夹分类工具:按扩展名自动整理文件

写这样一个脚本,花不了太多时间。但它带来的价值,远远超过那一两百行代码。它教会我们:自动化不是炫技,而是解放双手细节决定成败,边界情况才是真考验好的工具,应该是可靠的、透明的、可预测的更重要的是,它让我们意识到:我们可以掌控技术,而不是被技术淹没。下次当你面对一团乱麻的文件夹时,别再手动拖拽了。停下来,想想能不能写个脚本解决。哪怕只是一个小小的开始,也是向“数字自由”迈出的一大步。毕竟,我们是程序员啊。✨🎯项目源码建议结构。

weixin_35516624的博客 990

MacX DVD Ripper Pro for Mac(DVD解码器) 6.2.120190416免激活版

只需要5分钟即可转档一张DVD光碟!并允许我们在编码之前预览、编辑、裁剪、修剪或扩展视频。第一款也是唯一一款能够支持DVD到MP4,H.264,MOV,FLV,MPEG4等所有格式DVD(新DVD,99-标题DVD,损坏和无法播放的DVD)和翻录DVD / ISO映像的工具,AVI,QT,MP3等。借助350多种预设配置文件MacX DVD Ripper Pro for Mac(DVD解码器) 6...

llhf688的博客 890

python 移动文件或文件夹操作

python 移动文件或文件夹操作 目录: 1、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法 2、文件操作方法大全 3、目录操作方法大全 ————————————————————————————– 1、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件和目录名:os.listdir() 3.函数用来删除一个文件:os.remove

m0_37670057的博客 2万+

深入解析NRF52832安全DFU Bootloader实现机制与蓝牙OTA升级流程

本文深入解析了NRF52832芯片安全DFU Bootloader的实现机制与蓝牙OTA升级流程。详细阐述了Bootloader的核心概念、双区升级策略、源码初始化流程以及蓝牙DFU服务的数据传输协议,并提供了从环境搭建、密钥生成到编译烧录、生成升级包的完整实战指南,帮助开发者构建安全可靠的无线固件更新系统。

weixin_29188043的博客 490

在目录中按扩展名分类文件(python学习)(11.1)

模块,这是Python的标准库之一,提供了许多与操作系统交互的功能,如文件和目录操作。:这是Python中常见的模式,如果这个脚本是作为主程序运行的,那么就执行。:创建一个新的目录路径,这个路径是以文件扩展名命名的新目录。是Python的标准库,提供了许多文件操作的高级函数。:将文件从原来的位置移动到以扩展名命名的新目录中。函数创建一个目录,包括创建其所有父目录。索引获取列表的最后一个元素,即扩展名。:检查以扩展名命名的新目录是否存在。:如果新目录不存在,则创建这个目录。,表示需要排序文件的目录路径。

m0_62261710的博客 734

智慧工地算法视频分析服务器区域入侵检测AI视频分析技术在煤矿的实战应用

通过实时分析和处理井下视频资料,智慧矿山算法视频分析服务器不仅能够及时发现并预警人员违规行为和设备异常状况,还能够通过智能分析预防潜在的安全风险,从而显著提高煤矿的安全管理水平和生产效率。

EasyDarwin开源社区技术博客 560

日志异常检测详细整理,看这一篇就够了(附各项目代码链接)

对于不用的日志键,用它们的参数值向量训练一个参数值异常检测模型来检测有这些参数值反映的系统性能异常。与标准的GAN框架一样,D和G的参数是基于D的输出来更新的,因此鉴别器D可以被训练为尽可能敏感地将正确的标签分配给真实和虚假序列,而生成器将被训练为尽可能聪明地在经过足够多轮的迭代后欺骗鉴别器,即误导D将真实标签分配给虚假序列。LR:逻辑回归是有监督的模型,将处理后的特征矩阵以及标记作为模型的输入,得到训练后的模型,用此模型预测新出现的特征向量,以此判断特征向量是否为异常的,进而判断日志异常。

qq_20368489的博客 1万+

用python把一个目录中的所有文件拷贝到指定目录

把目录(包括子目录)中的所有文件,拷贝到指定的目录中,并重命名为  [n][.ext],即文件以数字顺序为名字并加上原有扩展名。   import os import shutil def walk_dir(dir,topdown=True):     fileList = []     for root, dirs, files in os.walk(dir, topdown):

michaelpp的专栏 5319

【音视频】PJSIP库——示例简介、C++类说明

aectest音频回声消除测试工具,用于演示音频处理模块中的回声消除(AEC)功能,通常用于 VoIP 场景中优化语音质量。auddemo音频播放 / 录制演示,展示如何使用 PJProject 的音频接口进行基本的音频数据采集、播放和处理,例如波形显示或格式转换。stereotest立体声处理测试,可能用于演示多声道音频的处理方式,如混音、声道分离等。tonegen音频信号生成工具,用于生成测试用的音频信号(如正弦波、音调等),常用于音频设备测试或调试。recfile。

郭老二 434

python保存到指定文件夹_Python文件夹与文件的相关操作(推荐)

最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动。有关文件夹与文件的查找,删除等功能 在 os 模块中实现。使用时需先导入这个模块,导入的方法是:import os一、取得当前目录s = os.getcwd()# s 中保存的是当前目录(即文件夹)比如运行abc.py,那么输入该命令就会返回abc所在的文件夹位置。举个简单例子,...

weixin_39944146的博客 4454

AgentScope Java 入门:Spring AI Alibaba 与 AgentScope 的定位与区别

摘要:Spring AI Alibaba是阿里基于Spring AI开发的本地化AI应用框架,旨在服务Java开发者。它提供模型接入、函数调用、RAG等功能,并与阿里云基础设施深度集成。同时,阿里开源了多智能体框架AgentScope,其Java版(AgentScope-Java)专注于Agentic设计理念。两者将协同发展:Spring AI Alibaba侧重Spring生态集成,AgentScope-Java强化智能体能力。未来计划包括支持AgentScope、升级Admin平台,以及推进Server

SmartSi 1532

安装西门子TIA Portal V15.1提示先决条件不足如何处理?

安装TIA Portal STEP 7 Professional WinCC Professional V15.1提示先决条件不足,需要如何才能够满足安装条件呢? 1.硬件要求: 安装 STEP 7 Basic / Professional V15.1 的计算机必须至少满足以下需求: 处理器: Core i5-6440EQ 3.4 GHz 或者相当 内存: 16GB或者更多(对于大型项目,为32GB) 硬盘:SSD,配备至少50GB的存储空间 图形分辨率:最小 1920 x 1080 显示器:15.6"

Robot_PLC_HMI_Automation 2万+

python递归搜索文件再同步到服务器,Python递归查找文件并移动到一个目标目录

脚本应递归浏览根路径目录并查找所有带* .mp4扩展名的文件。打印目录结构的文件列表。然后将文件移动到destDir目录。我遇到的问题是当试图将文件移动到新目录。只有rootPath目录中的文件将被移至新目标。在ROOTPATH下子目录中的文件会导致错误:Python递归查找文件并移动到一个目标目录/Volumes/VoigtKampff/Temp/TEST/level01_test.mp4/Vo...

weixin_26717681的博客 687

【RT-DETR涨点改进】独家注意力改进篇 | 手把手教你在RT-DETR上使用LSKAttention大核注意力机制(助力目标检测极限涨点)含多种创新改进点

本文提出了一种LSKA大核注意力机制优化RT-DETR模型的方法。LSKA通过将2D深度卷积核分解为级联的1D水平和垂直核,显著降低了计算复杂度和内存占用,尤其在处理大卷积核时优势明显。该模块在图像分类、目标检测等视觉任务中保持与LKA相当的性能,同时展现出更强的鲁棒性。文章详细介绍了LSKA的网络结构、核心代码实现方法,并提供了多种RT-DETR改进方案,包括rtdetr-r18-LSKA、rtdetr-l-LSKA等7种yaml配置文件,通过实验验证了该方法的有效性。

Ai缝合怪、助力小伙伴高效发论文 252

python搜索指定类型文件&批量移动文件程序

1.示例文件及路径准备 作为示例,在D盘中放一个名为pic1的文件夹,在该文件夹中放入两个png图片,并在pic1内再创建一个文件夹,里边也随便放两张png图片。如图所示。 在D盘的ABC文件夹中,创建一个名为pic2的文件夹。 本程序要求:搜索目录"D://pic1"下的所有文件扩展名为png的图片。并将其全部移动至"D://ABC/pic2"目录下。 2.代码示例 分别定义一个搜索函数和一个批量移动函数。 搜索函数需要传入的参数为root:要搜索的目录;target为目标文件类型(即扩展名)。 搜索

m0_67505608的博客 395

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

python输出文件目录和文件名_python打印目录下的文件名

打印当前目录所有文件名import fnmatch, osdef allFiles(root, patterns = '*', single_level = False, yield_folders = False):patterns = patterns.split(';')for path, subdirs, files in os.walk(root):if yield_folders:#a...

weixin_39870092的博客 716

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

使用简单的python代码进行文件的分类与移动

本文介绍了使用Python实现文件分类与移动的几种方法。通过shutil和os模块,可以实现根据文件扩展名、关键词和修改日期进行智能分类。主要内容包括:1)基本文件移动函数;2)按扩展名分类,自动创建对应文件夹;3)基于关键词匹配的分类方法;4)按文件修改日期归档;5)安全移动函数,避免文件覆盖冲突。这些方法可以帮助用户高效管理文件,实现自动化分类整理。示例代码简洁实用,可根据实际需求灵活调整分类规则和目录结构。

pangming371的博客 462

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

移动指定文件

移动文件夹下 子文件夹 中 子文件夹 的文件、 # coding = utf-8 import os import shutil # from functools import reduce def search(path, s): to_dir_path='C:/Users\ZH\Desktop\新建文件夹' # result = [filename for t in os.walk(path) for filename in t[2] if s in os.path.splitext(

weixin_45562000的博客 343

Python脚本:批量复制指定目录下的所有.mp4文件到目标目录

Python脚本:批量复制指定目录下的所有.mp4文件到目标目录

一起coding,一起嗨。 813

python移动文件中某个内容_如果python中的某些文件类型,则移动文件并创建目录...

这可能是一个简单的问题,但我对python和编程一般都是新手.我正在研究一个简单的程序,在镜像源位置的目录结构时,将.mp3文件从一个位置复制/移动到另一个位置.到目前为止我的工作,但它也在目标位置创建新的文件夹,即使源文件夹不包含mp3文件.我只想创建新目录,如果源包含.mp3s,否则它可能会导致目标中的一堆空文件夹.这是我到目前为止:import osimport shutil #Used f...

weixin_39716044的博客 127

Python 把指定目录下的文件 按类型归类

#--*coding:utf-8*-- """ 把指定目录下的文件 按类型归类 """ import os import shutil from pathlib import Path #指定路径 # 路径=input("请指定路径:") 路径="D:\新建文件测试" 路径=Path(路径) list=list(路径.rglob("*.*")) os.chdir(路径) print(list) if not os.path.exists("文件整理"): os.mkdir("文件整理") fo.

sdgpcc2000的博客 978

python 目录和文件操作

python 目录和文件操作

jacke121的专栏 2955
上一篇: Python递归删除嵌套空目录
下一篇: 利用hachoir获取媒体文件元数据
mighty13
博客等级 码龄23年 728粉丝 438原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值