Python自动化办公篇 - 86 - 文件自动化管理引言及shutil模块实现文件与文件内容的复制

Python自动化办公篇 - 86 - 文件自动化管理引言及shutil模块实现文件与文件内容的复制,第1张

万叶集
🎉 隐约雷鸣,阴霾天空。 🎉
🎉 但盼风雨来,能留你在此。 🎉

前言:
✌ 作者简介:渴望力量的哈士奇,大家可以叫我 🐶哈士奇🐶 。(我真的有一只哈士奇)
🏆 CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主 🏆
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬
🔥 如果感觉博主的文章还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦


📕 系列专栏:
               ⛽️ Python全栈系列 - [更新中]     【 本文在该系列】
                       🍎 Python零基础入门篇
                       🍎 Python语法进阶篇
                       🍎 Python自动化办公篇
               👋 网安之路系列
​                       🍋 网安之路踩坑篇
​                       🍋 网安知识扫盲篇
​                       🍋 Vulhub 漏洞复现篇
​                       🍋 Shell脚本编程篇
​                       🍋 Web攻防篇   2021年9月3日停止更新,转战先知等安全社区
​                       🍋 渗透工具使用集锦  2021年9月3日停止更新,转战先知等安全社区
​                ⭐️ 点点点工程师系列
​                       🍹 测试神器 - Charles 篇
​                       🍹 测试神器 - Fiddler 篇
​                       🍹 测试神器 - Jmeter 篇
​                       🍹 自动化 - RobotFrameWork 系列
​                       🍹 自动化 - 基于 JAVA 实现的WEB端UI自动化
                       🍹 自动化 - 基于 MonkeyRunner 实现的APP端UI自动化

文章目录
    • 🐳 自动化办公篇章的引言
    • 🐳 普通文件的 *** 作
    • 🐳 文件 *** 作利器 - shutil
      • 🐬 利用 shutil 实现文件的复制
        • 🐠 使用相对路径实现文件的复制
        • 🐠 使用绝对路径实现文件的复制
      • 🐬 利用 shutil 实现文件内容的复制
        • 🐠 copyfile() 函数
        • 🐠 利用copyfile() 函数实现文件内容的复制

🐳 自动化办公篇章的引言

接下来我们即将进入一个新的篇章,那就是自动化办公。所谓自动化办公就是通过机器来帮助我们完成一些工作,而不是需要人工去 *** 作(或者说尽量减少人工的参与)。

自动化办公在我们的生活中非常常见,接下来将简单的介绍一下该章节的主要场景与实现目的:

  • 让文本 *** 作的工作尽量变得自动化 —> 即脱离人工处理。
  • 对自动化的概念有一定的启蒙,为下一章节的自动化篇章打下一定的基础。
  • 该章节的主要实现目的是为了实现自动化文件处理,比较适合行政办公的同学。
  • 同样的也适合技术人员在主服务之外做自动化处理,比如说处理一些日志文件等等…

该篇章的主要实现内容链:

  • 普通文本文件的处理

    • 复制、裁剪、粘贴
    • 重命名
    • 批量文件查找
    • 批量内容查找
  • 特殊文件的处理

    • Word 文件的读写与样式设置
    • Word 转 PDF
    • Excel 读写与样式设置
    • PPT 读写与样式设置
  • Email 邮件的发送

    • 普通邮件的发送
    • html邮件的发送
    • 附件邮件的发送
    • 定时发送邮件

以上就是 Python 自动化办公篇章的主要内容链,该篇章主要以自动化办公的基础为主,会针对每一种方式的基础用法进行讲解,拓展方面需要大家在实际工作中一点一点的去提高去扩充。个人建议不要跳跃学习,一旦跳跃了就有可能获取不到上下章节的信息了。

🐳 普通文件的 *** 作

OK,接下来就进入到自动化办公的相关学习。无论是各行各业还是各个不同的岗位如果能够通过自动化的方式去完成工作,都可以大大的提高我们的工作效率。

单单说开发岗位,如果能够通过一个程序帮助我们完成一个自动化脚本的编写、自动化的完成一定的工作,也可以帮助我们减少工作时间。

关于普通文件的 *** 作,什么是普通文件?其实就是类似 .txt.py 等类似的这一类可以直接打开看到内容的文件;那么什么又是不普通的文件呢?这里我们指的是类似 WordExcelPPT 这种直接拖到 IDEA 无法正常打开,都需要专门工具打开的文件,我们将它们归类于不普通的文件。

在进入普通文件的 *** 作学习之前,先来介绍一下几个我们会用到的模块:

  • shutil 模块

    • shutil 模块是一个高级与 os 模块的模块,它兼容与各种系统。(当然, shutil 模块也有一些不支持的功能需要 os 模块来进行配合)
  • glob 模块

    • glob 模块可以帮助我们查找指定的文件或者文件夹
🐳 文件 *** 作利器 - shutil

下面我们就开始学习一下更加高级、更加细腻的 *** 作文件的模块 - shutil 模块 ,可以说它是在 os 模块上的一个升级。它可以帮助我们更简单的电脑中的文件、文件夹进行 *** 作。

🐬 利用 shutil 实现文件的复制

导入包与模块(需要注意的是:shutil 是 python3.8 的内置模块,不需要安装)

from shutil import copy

使用方法:

copy(来源文件,目标地址)

来源文件:一定要是一个绝对路径或者是相对路径

目标地址:可以不包含具体的文件名

🐠 使用相对路径实现文件的复制

代码示例如下:

# coding:utf-8


import os

from shutil import copy


copy('test01.txt', 'test01')

执行结果如下:



🐠 使用绝对路径实现文件的复制

代码示例如下:

# coding:utf-8


import os

from shutil import copy


path = os.path.join(os.getcwd(), 'test01.txt')  # 利用 os 模块的 getcwd() 函数 分别获取 "test01.txt"、"test01" 的绝对路径
target = os.path.join(os.getcwd(), 'test01')

copy(path, target)

运行结果如下:



🐬 利用 shutil 实现文件内容的复制

在这里先思考一下,在上文内容中,我们将一个文件利用 copy() 函数将其复制到了一个文件夹下面,如果我们将文件的目标地址的文件夹,改为一个文件会怎么样?看看下面的代码示例结果会如何?

代码示例如下:

# coding:utf-8


import os

from shutil import copy


path = os.path.join(os.getcwd(), 'test01.txt')  # 利用 os 模块的 getcwd() 函数 分别获取 "test01.txt"、"test01" 的绝对路径
target = os.path.join(os.getcwd(), 'abcd.txt')

copy(path, target)

PS:上文代码中的 test01.txt 文件的内容是 "这是一个测试文件。" ,而 abcd.txt 文件则是一个空文件。执行上述脚本后,我们打开 abcd.txt 文件后会发现, test01.txt 文件的内容也被复制到了 abcd.txt ,这说明 copy() 这个函数也具有复制文件内容的功能。

其实这样的 *** 作并不是很严谨,因为在 shutil 模块 针对文件内容复制的 *** 作有一个单独的函数 - copyfile() 来实现。

🐠 copyfile() 函数

导入包与模块(需要注意的是:shutil 是 python3.8 的内置模块,不需要安装)

from shutil import copyfile

使用方法:

copyfile(来源文件,目标文件)

PS:区别于 copy() 函数的目标地址,这里传入的是目标文件

🐠 利用copyfile() 函数实现文件内容的复制
# coding:utf-8


import os

from shutil import copy, copyfile


path = os.path.join(os.getcwd(), 'test01.txt')  # 利用 os 模块的 getcwd() 函数 分别获取绝对路径
target = os.path.join(os.getcwd(), 'test01_copy.txt')

copyfile(path, target)

运行结果如下:



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/801041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-07
下一篇 2022-05-07

发表评论

登录后才能评论

评论列表(0条)

保存