组织文件
复制文件和文件夹
在前一章中,您学习了如何用Python创建和写入新文件。你的程序也可以组织硬盘上已有的文件。也许你有过这样的经历:在一个文件夹里翻找几十个、几百个甚至几千个文件,然后手工复制、重命名、移动或压缩它们。或者考虑以下任务:
在文件夹的每个子文件夹中复制所有PDF文件(仅复制PDF文件)
删除由数百个名为spam001的文件组成的文件夹中每个文件文件名中的前导零。txt, spam002。txt, spam003。txt,等等
将多个文件夹的内容压缩到一个ZIP文件中(可以是一个简单的备份系统)
所有这些无聊的东西都希望用Python实现自动化。通过编程让你的电脑完成这些任务,你可以把它变成一个从不出错的快速工作的档案管理员。
当您开始处理文件时,您可能会发现能够快速查看扩展名(。文件的txt、.pdf、.jpg等)。使用OS X和Linux,您的文件浏览器很可能会自动显示扩展名。在Windows中,文件扩展名默认情况下是隐藏的。回到控制面板完全回到外观完全回到个性化完全回到文件夹选项,即可显示扩展名。在“视图”选项卡“高级设置”下,勾选“已知文件类型的隐藏扩展名”复选框。
shutil模块
shutil(或shell实用程序)模块具有允许复制、移动、重命名和删除Python程序中的文件的函数。要使用shutil函数,首先需要使用import shutil。
复制文件和文件夹
shutil模块提供了复制文件以及整个文件夹的功能。
调用shutil。复制(源文件,目标文件)将路径源文件复制到路径目标文件夹。(源和目标都是字符串。)如果目标是一个文件名,它将用作复制文件的新名称。此函数返回复制文件的路径字符串。
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2019/8/3 0003 13:12
# @Author : P.D
# @Site : 复制文件和文件夹
# @File : copy_file.py
import shutil
import os
"""复制文件和文件夹"""
# copy函数 def copy(src, dst, *, follow_symlinks=True):
shutil.copy("copy_file.py", "E:")
shutil.copy("copy_file.py", "E:\\copy_file2.py")
print(os.listdir("E:"))
print(os.getcwd())
"""复制文件夹 copytree()方法"""
shutil.copytree(r"F:\python_workspace\automation\one_day\organization", "organization_back")
print(os.listdir("."))
移动和重命名文件和文件夹
调用shutil。move(source, destination)将把路径源中的文件或文件夹移动到路径目标,并返回新位置的绝对路径字符串。
如果目标指向文件夹,则源文件将被移动到目标并保留其当前文件名
移动文件和文件夹