返回顶部
首页 > 资讯 > 后端开发 > Python >怎么在python中用os模块实现批量移动文件
  • 843
分享到

怎么在python中用os模块实现批量移动文件

2023-06-30 15:06:27 843人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇“怎么在python中用os模块实现批量移动文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么在Python中用os

这篇“怎么在python中用os模块实现批量移动文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么在Python中用os模块实现批量移动文件”文章吧。

通过python操作系统目录及其文件,需要用到os包,本次具体用到如下方法

  • os.walk(), 这个方法可以遍历一个文件夹及其子文件(子子文件夹等)

  • os.rename(),这个方法用于命名文件或目录(因为是操作一个文件的绝对路径,所以其实相当于对文件进行剪切操作)

另外也可以借助 shutil库对文件进行移动或复制操作

下面是示例代码

def run_main(source_dir, target_dir):    num = 0    for root, dirs, files in os.walk(source_dir, topdown=False):        # root 表示当前正在访问的文件夹路径        # dirs 表示该文件夹下的子目录名list        # files 表示该文件夹下的文件list        for name in files:            # print(os.path.join(root, name))            # print(type(os.path.join(root, name)))            file = os.path.join(root, name)  # 拼接文件的完整路径(注意我们对一个文件或文件夹操作,一定要使用绝对路径)            print(file)            if file.split(".")[-1] in ["xls", "xlsx", "csv"]:  # 使用split判断获得的文件路径是不是以csv结尾                # print(file)                tar_file = file.split(".")[-2]+str(num)+"."+file.split(".")[-1] # 为了避免有重名文件,给原文件名后加一个递增序号num形成新的文件名                # print(target_dir+tar_file.split("\\")[-1])                if os.path.isfile(target_dir + tar_file.split("\\")[-1]): # 判断目标文件夹是否已存在该文件                    print("已经存在该文件")                else:                    print("正在移动第{}个文件:{}".fORMat(num+1, tar_file.split("\\")[-1]))                    os.rename(file, target_dir + tar_file.split("\\")[-1])                num += 1if __name__ == '__main__':    run_main("D:/source/", "D:/target/")

关于如何复制文件,还可以借助shutil

将文件内容拷贝到另一个文件中

import shutilshutil.copyfileobj(open('old.xml','r'), open('new.xml','w'))shutil.copyfile(src, dst)

拷贝文件

shutil.copyfile('f1.log','f2.log')#目标文件无需存在shutil.copymode(src, dst)

仅拷贝权限。内容、组、用户均不变

shutil.copymode('f1.log','f2.log')#目标文件必须存在shutil.copystat(src, dst)

仅拷贝状态的信息,包括:mode bits, atime, mtime, flags

shutil.copystat('f1.log','f2.log')#目标文件必须存在shutil.copy(src, dst)

拷贝文件和权限

import shutil23shutil.copy('f1.log','f2.log')shutil.copy2(src, dst)

拷贝文件和状态信息

import shutil23shutil.copy2('f1.log','f2.log')shutil.ignore_patterns(*patterns) #基本用不到shutil.copytree(src, dst, symlinks=False, ignore=None)

递归的去拷贝文件夹

import shutilshutil.copytree('folder1','folder2', ignore=shutil.ignore_patterns('*.pyc','tmp*'))#目标目录不能存在,注意对folder2目录父级目录要有可写权限,ignore的意思是排除shutil.rmtree(path[, ignore_errors[, onerror]])

递归的去删除文件

import shutilshutil.rmtree('folder1')shutil.move(src, dst)

递归的去移动文件,它类似mv命令,其实就是重命名。

import shutilshutil.move('folder1','folder3')shutil.make_arcHive(base_name, format,...)

创建压缩包并返回文件路径,例如:zip、tar

base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,

如:/tmp/data_bak =>保存至/tmp/

format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”

root_dir: 要压缩的文件夹路径(默认当前目录)

owner: 用户,默认当前用户

group: 组,默认当前组

logger: 用于记录日志,通常是logging.Logger对象

#将 /data 下的文件打包放置当前程序目录import shutilret = shutil.make_archive("data_bak", 'gztar', root_dir='/data')#将 /data下的文件打包放置 /tmp/目录import shutilret = shutil.make_archive("/tmp/data_bak", 'gztar', root_dir='/data')

以上就是关于“怎么在python中用os模块实现批量移动文件”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网Python频道。

--结束END--

本文标题: 怎么在python中用os模块实现批量移动文件

本文链接: https://lsjlt.com/news/329780.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在python中用os模块实现批量移动文件
    这篇“怎么在python中用os模块实现批量移动文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么在python中用os...
    99+
    2023-06-30
  • 如何在python中用os模块实现批量移动文件
    本文介绍一下利用python批量把一个文件夹(及其子文件夹)下面的特定类型的文件移动到另一个文件夹下 通过python操作系统目录及其文件,需要用到os包,本次具体用到如下方法 os...
    99+
    2024-04-02
  • Python利用os模块批量修改文件名
    初学Python.随笔记录自己的小练习. 通过查阅资料os模块中rename和renames都可以做到 他们的区别为.rename:只能修改文件名   renames:可以修改文件名,还可以修改文件上级目录名称 另一个用到的方法是os.l...
    99+
    2023-01-31
    文件名 批量 模块
  • python实现批量移动文件
    本文通过实例为大家分享了python实现批量移动文件的具体代码,供大家参考,具体内容如下 任务:每个大文件夹下有许多小文件夹,将小文件夹里的pdf文件移动到指定文件夹。如图: 最...
    99+
    2024-04-02
  • os模块与fnmatch模块怎么在python中使用
    本篇文章为大家展示了 os模块与fnmatch模块怎么在python中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt...
    99+
    2023-06-08
  • Python中os模块怎么用
    小编给大家分享一下Python中os模块怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言OS模块虽然基础的时候已经学过了,但是谁让本人属于那种不用立马就忘...
    99+
    2023-06-14
  • python中的sys模块和os模块怎么用
    今天小编给大家分享一下python中的sys模块和os模块怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.sys模块...
    99+
    2023-06-29
  • python中os模块和sys模块怎么使用
    今天小编给大家分享一下python中os模块和sys模块怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、os模块o...
    99+
    2023-07-05
  • Python文件处理方法、os模块和glob模块怎么使用
    这篇“Python文件处理方法、os模块和glob模块怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python文件...
    99+
    2023-06-30
  • c语言怎么批量移动文件
    在C语言中,可以使用rename()函数来批量移动文件。rename()函数的原型如下: int rename(const char...
    99+
    2024-02-29
    c语言
  • Python使用os模块实现更高效地读写文件
    目录使用 os.open 打开文件使用 os.read 读取文件使用 os.write 写入文件使用 os.open 打开文件 无论是读文件还是写文件,都要先打开...
    99+
    2024-04-02
  • Python递归文件中os模块的实际应用方式
    本篇内容主要讲解“Python递归文件中os模块的实际应用方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python递归文件中os模块的实际应用方式”吧!os模块在实际的操作中应用非常广泛,...
    99+
    2023-06-17
  • python内置模块OS 实现SHELL端文件处理器
    目录OS 模块带path判断文件判断文件夹判断文件是否存在获取文件大小获取路径及文件获取绝对路径返回文件名获取文件路径路径拼接不带path获取平台获取所有文件当前工作路径目录操作重命...
    99+
    2024-04-02
  • 基于pdf2docx模块怎么用Python实现批量将PDF转Word文档
    这篇“基于pdf2docx模块怎么用Python实现批量将PDF转Word文档”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2023-07-06
  • Python实现批量自动整理文件
    为了实现这样的小工具,我们先设想有下面这些功能。 1、可以自定义整理某一个路径下面的所有需要被整理的文件。2、默认情况下,使用文件后缀作为同一种类文件的文件夹名称,有其他想法的小伙伴...
    99+
    2024-04-02
  • 利用Python的tkinter模块实现界面化的批量修改文件名
    用Python编写过批量修改文件名的脚本程序,代码很简单,运行也比较快,唯一美中不足之处是每次批量修改文件名时都需要执行以下步骤: 1)复制文件夹路径;2)打开脚本程序3)替换脚本中...
    99+
    2024-04-02
  • Java实现文件批量重命名,移动和删除
    目录一、题目描述-批量重命名1、题目2、解题思路3、代码详解二、题目描述-批量移动文件1、题目2、解题思路3、代码详解4、多学一个知识点三、题目描述-批量删除tmp文件1、题目2、解...
    99+
    2022-11-13
    Java文件重命名 Java文件 移动 Java文件 删除
  • 怎么用python在文本文件批量查找
    可以使用Python的文件操作和字符串操作来实现在文本文件中批量查找的功能。下面是一个简单的示例代码:```pythondef se...
    99+
    2023-09-13
    python
  • 怎么在python中使用selenium模块实现自动登录
    怎么在python中使用selenium模块实现自动登录?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python可以做什么Python是一种编程语言,内置了许多有效的工具...
    99+
    2023-06-14
  • 怎么在python中使用shutil模块操作文件
    这篇文章给大家介绍怎么在python中使用shutil模块操作文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作