在日常工作和生活中,我们经常要复制和重命名文件,如果遇到大量数据处理时,手动去操作非常麻烦,现在我们可以通过python的shutil模块完成,以下主要介绍几种场景:
1.复制一个文件到其他目录,不重新命名;
2.复制一个文件到其他目录,重新命名;
3.复制某个固定文件,生成N个重命名的新文件;
4.复制某个文件夹中多个文件,到其他目录、不重新命名;
5.复制某个文件夹中多个文件,到其他目录、重新命名;

# -*- coding: utf-8 -*-
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者:cacho_37967865
#博客:https://blog.csdn.net/sinat_37967865
#文件:rename_file.py
#日期:2020-05-02
#备注: 批量对文件进行重命名、批量复制文件
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''import os
import shutil
from pythonlession.basefunction.get_all_file import get_files
from pythonlession.basefunction.deal_file import get_file,save_file# 复制某个文件:sample-原始文件、new_path-新文件目录
def copy_file(sample,new_path):if not os.path.exists(new_path):os.makedirs(new_path)new_file = os.path.join(new_path, os.path.basename(sample))shutil.copy(sample, new_file)print('复制后的文件完整路径:',new_file)return new_file# 复制某个文件并重命名:sample-原始文件、new_path-新文件目录、file_name-新文件名称
def copy_rename_file(sample,new_path,file_name):if not os.path.exists(new_path):os.makedirs(new_path)new_file = os.path.join(new_path, file_name)shutil.copy(sample, new_file)print('复制并重命名后的文件完整路径:',new_file)return new_file# 复制某个文件生成多个重命名文件:sample-原始文件、new_path-新文件目录、num-生成数量
def copy_n_files(sample,new_path,num):if not os.path.exists(new_path):os.makedirs(new_path)for i in range(num):new_file = os.path.join(new_path, '%03d_'%(i) + os.path.basename(sample))shutil.copy(sample, new_file)print('复制并重命名后的文件完整路径:',new_file)# 复制多个文件到其他目录:
def copy_files(file_path,file_type,new_path):if not os.path.exists(new_path):os.makedirs(new_path)files = get_files(file_path, file_type)for file in files:new_file = os.path.join(new_path, os.path.basename(file))shutil.copy(file, new_file)print('复制后的文件完整路径:', new_file)# 复制多个文件到其他目录并且重命名:方法一
def copy_rename_files(file_path,file_type,new_path):if not os.path.exists(new_path):os.makedirs(new_path)files = get_files(file_path, file_type)for i in range(len(files)):file = files[i]new_file = os.path.join(new_path, '%03d_'%(len(files)-i) + os.path.basename(file))shutil.copy(file, new_file)print('复制并重命名后的文件完整路径:', new_file)#  复制多个文件到其他目录并且重命名:方法二
def rename_files(file_path,type,new_path):if not os.path.exists(new_path):os.makedirs(new_path)files = get_files(file_path, type)for i in range(len(files)):file = files[i]new_file = os.path.join(new_path, '%03d_'%(len(files)-i) + os.path.basename(file))byte_file = get_file(file)         # 二进制方式打开save_file(new_file,byte_file)      # 二进制方式存储print('重命名前的文件为:%s,重命名后文件为:%s' %(file,new_file))

【Python】shutil内置模块复制和重命名文件相关推荐

  1. python 复制 移动 重命名文件

    python 复制 移动 重命名文件 import os import shutil # 复制文件: shutil.copyfile("oldfile", "newfil ...

  2. 在Python中复制和重命名文件

    Using shutil (shell utilities) module, file operation such as copy, rename, move, etc is very handy. ...

  3. python pandas rename_使用Pandas重命名文件

    我试图用excel工作表和pandas重命名文件,但是我一直收到一个IO错误.在"文件名"列中,我有原始文件名以及"重命名"列中的原始文件名.我知道还有其他方法 ...

  4. 使用Python按时间顺序批量重命名文件

    下面这段Python脚本能我们把一个文件夹下的所有文件,按最后修改的时间顺序,批量加序号前缀进行重命名: 注释比较详尽,就不多费口舌了,上代码: import os# 按修改时间排序后,批量重命名文件 ...

  5. python 重命名文件出现乱码_下载的文件名总是「乱码」?这里有各平台的解决方法...

    说起「乱码」,没遇到过的电脑用户可能是极少的,尤其在国内中文环境下.暴露年龄的「烫烫烫」系列乱码已经绝迹,现如今遇到的往往是类似「%E9%AB%98%E9%A2%91」和「èªå¨é£è±è½»ä¼¼ ...

  6. python3 文件 复制、重命名、移动、删除

    简介 shutil 模块 提供了多个针对文件或文件集合的高等级操作. 尤其是,文件的复制和删除操作. 对于独立文件的操作, 参考 os 模块 警告: 即使是更高等级的文件复制功能 ( shutil.c ...

  7. python下载文件并改名_第46p,8行代码,用Python批量重命名文件

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第46篇文章,第二阶段的课程:Python基础知识:小案例之用Python批量重命名文件. 学习本课程,建议先看一遍:[计算机基础知 ...

  8. 天天向上续 python代码_第46p,8行代码,用Python批量重命名文件

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第46篇文章,第二阶段的课程:Python基础知识:小案例之用Python批量重命名文件. 学习本课程,建议先看一遍:[计算机基础知 ...

  9. 使用批处理复制并以时间规则重命名文件

    原文:使用批处理复制并以时间规则重命名文件 @echo off ::获取日期 将格式设置为:20110820 set datevar=%date:~0,4%%date:~5,2%%date:~8,2% ...

最新文章

  1. java读取InputStream输入流后输出String字符串
  2. python的super方法_Python中“super”是做什么的?
  3. 2017年云主机性能测评报告
  4. 推荐10个优秀GitHub仓库
  5. Android 四大组件学习之ContentProvider一
  6. 电子书及阅读器Demo
  7. 【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】
  8. python 多行注释 快捷键
  9. Unity中location和rotation赋值和更改
  10. android常用adb命令大全,Android ADB常用命令总结
  11. 如何把Word的默认页面颜色由白色改为绿色
  12. 华为畅享10与10s有什么区别?哪个更好
  13. 用一个小故事模拟Spring-Aop(三)--Advice适配器
  14. 介绍|三大前端框架之Vue
  15. WEB客户端编程与服务器端编程
  16. 压缩包乱码解压密码错误||qq游戏游戏加载中,请稍后
  17. JSP学习(1)—— 基本语法
  18. 万能手机破解的正确姿势
  19. 【2020-09-29】JS逆向之企名片encrypt_data数据解密--超详细
  20. 从零开始制作基于Unity引擎的宝石消消乐(二)

热门文章

  1. 数字时钟html5 js,html5 canvas js(数字时钟)实例代码
  2. 打印两个有序链表的公共部分~~
  3. coreos 安装mysql_如何执行CoreOS Linux的裸机安装
  4. python和php合成,Python照片合成的方法详解
  5. android 信鸽 自动重启,Android简单集成信鸽推送
  6. php正则提取a,正则表达式 - php提取html中指定div下a标签的text和href问题
  7. html提交表单使用python计算_教你使用Python实现新个税计算器
  8. 华硕z97不识别m2固态_华硕H110T +i3 8100T 组装黑苹果Mac mini安装教程
  9. IDEA Git更新
  10. JDBC连接 Mysql数据库