我的编程空间,编程开发者的网络收藏夹
学习永远不晚

用 Python 批量把文件复制到另一

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

用 Python 批量把文件复制到另一

0 前言

大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成 200 个文件一个文件夹,很简单的。

我理解了之后,觉得还是挺简单的,花了半个小时写出来了,代码也不多,代码和思路都可以分享一下。

1 环境说明

Win10 系统下 Python3,编译器是 Pycharm。

需要安装 shutil 这个第三方库,直接 pip install shutil 就可以了。

2 代码

先导入需要用到的库,os 是用来切换路径和创建文件夹的。

shutil 是用来复制黏贴文件的

import os
from shutil import copy

i 用来计算文件数量,当 i 是 200 的倍数时,k 会 +1;k 用来计算新建文件夹的数量,方便创建文件夹。

save_dir 是想把复制出来的文件存放在的路径

# i 用来计算文件数量,k 用来计算新建文件夹的数量
i = 0
k = 0

#  想保存到的根路径
save_dir = r'F:\666'
#  如果目录不存在,则创建
if not os.path.isdir(save_dir):
    os.makedirs(save_dir)

dir_name 是新的文件夹的命名;file_path 是想拆分的文件夹所在路径,也就是一大堆文件所在的路径。

os.listdir(file_path) 是获取指定路径下包含的文件或文件夹列表,在 Unix, Windows 下使用。

#  想保存的名字
dir_name = "junzi"

#  想拆分的文件夹所在路径
file_path = r'F:\ALL'

#  获取 file_path 下的文件和文件夹列表
#  因为 file_path 里面没有文件夹,所以不处理有文件夹的情况
pathDir = os.listdir(file_path)

获取到了列表,那就一个一个进行遍历。0 是 200 的倍数,所以一开始 k 的值会 +1 。

allDir 是文件的名字+后缀名。from_path 就是当前这个被遍历出来的文件的完整路径,to_path是这个文件要复制到的路径。

接着 copy(from_path, to_path) 完成复制黏贴,最后 i 自增1.

for allDir in pathDir:
    if( (i%200) == 0):
        print("200 的倍数,新建一个文件夹")
        k += 1

    print(allDir)
    from_path = os.path.join(file_path, allDir)
    to_path = save_dir + "\\" + dir_name + str(k)

    #  如果 to_path 目录不存在,则创建
    if not os.path.isdir(to_path):
        os.makedirs(to_path)
    copy(from_path, to_path)
    i += 1

3 相关说明

shutil 的 copy() 是复制到一个新的地方,创建时间、修改时间、访问时间都是新的,copy2() 则是会创建时间、修改时间、访问时间这些也复制过去。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

用 Python 批量把文件复制到另一

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

用 Python 批量把文件复制到另一

0 前言大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成 200 个文件一个文件夹,很简单的。我理解了之后,觉得还是挺简单的,花了半个小时写出来了,代码也不多,代码和思路都可以分享一下。1 环境说明Wi
2023-01-31

linux把一个文件的内容复制到另一个文件的末尾

问题描述: 比如11的文件内容是: hello 22的文件内容是: world 将22的文件内容复制到11文件的末尾,11文件的效果就是: hello world 解决办法: cat 22 >> 11 >>的意思是追加的意思 > 的意
2022-06-04

linux如何复制文件夹到另一个文件夹

本文小编为大家详细介绍“linux如何复制文件夹到另一个文件夹”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux如何复制文件夹到另一个文件夹”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
2023-01-05

3dmax如何复制模型到另一个文件

这篇文章主要介绍了3dmax如何复制模型到另一个文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇3dmax如何复制模型到另一个文件文章都会有所收获,下面我们一起来看看吧。3dma
2023-03-15

python 批量复制不同目录下的文件

python 批量复制不同目录下的文件#!/usr/bin/env python#coding=UTF-8#author apingimport os,sys,shutil,timeimport getpass,os.pathfrom ft
2023-01-31

python怎么调用另一个文件的变量

要在一个Python文件中调用另一个文件的变量,你可以使用以下几种方法:1. 使用import语句导入整个文件:- 在调用文件的Python脚本中,使用`import`语句导入另一个文件,然后通过`另一个文件名.变量名`的方式访问变量。示例
2023-09-13

python怎么调用另一个py文件的变量

在 python 中,调用另一个 py 文件的变量有三种方法:1. 使用import语句导入模块,然后访问变量;2. 使用from...import语句从模块中导入特定变量;3. 使用exec函数执行代码字符串来导入文件并访问变量。如何在
python怎么调用另一个py文件的变量
2024-05-14

教你如何利用bat脚本批量 重命名/复制 文件

这篇文章主要介绍了如何利用bat脚本批量重命名/复制文件,其实与其重命名文件,大家也可以考虑用复制文件办法,这样就不用考虑重命名时候的溢出问题,下面给出文件复制的办法,需要的朋友可以参考下
2022-12-29

如何实现把下一行数字复制到前面一行后面并用空格分开的批处理

小编给大家分享一下如何实现把下一行数字复制到前面一行后面并用空格分开的批处理,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!我想把一文本,其内容为这样的形式: 25 69 89 99 120 处理成以下的形式: 25 69
2023-06-09

linux如何从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录

在Linux中,可利用find和cp命令组合查找和复制以.txt结尾的文件。具体步骤:切换到包含.txt文件的目录。使用find命令查找.txt文件,然后用cp命令将其复制到目标目录。执行命令后,找到的文件都将复制到目标目录。注意,此命令会复制所有子目录中的.txt文件。要仅复制当前目录中的文件,请将find命令修改为:find.-maxdepth1-typef-name"*.txt"-execcp{}/path/to/destination/;。
linux如何从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录
2024-04-02

dos中如何使用copy将一个或多个文件从一个位置复制到其他位置

小编给大家分享一下dos中如何使用copy将一个或多个文件从一个位置复制到其他位置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!复制 将一个或多个文件从一个位置复
2023-06-09

如何批量上传CSV文件数据到MySql表中?使用 LOAD DATA 的一种非常快速的方法

? 简介您还在使用“for”或“while”循环来迭代行并将它们插入数据库吗?您还在编写单独的代码来读取 .csv 文件并将其上传到 mysql 数据库吗?用mysql提供的“load data”语句对线性逻辑说“不”。准备好更改代码以最大
如何批量上传CSV文件数据到MySql表中?使用 LOAD DATA 的一种非常快速的方法
2024-08-19

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录