Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions OfficeAutomation/Task01 文件自动化与邮件处理.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

- [Task 01 文件自动化处理](#task-01-文件自动化处理)
- [1.1文件处理](#11文件处理)
- [1.1.1 文件与文件路径](#111--文件与文件路径)
- [1.1.2 当前工作目录](#112--当前工作目录)
- [1.1.3 路径操作](#113--路径操作)
- [1.1.1 文件与文件路径](#111--文件与文件路径)
- [1.1.2 当前工作目录](#112--当前工作目录)
- [1.1.3 路径操作](#113--路径操作)
- [1.1.3.1 绝对路径和相对路径](#1131-绝对路径和相对路径)
- [1.1.3.2 路径操作](#1132-路径操作)
- [1.1.3.3 路径有效性检查](#1133-路径有效性检查)
Expand All @@ -17,9 +17,9 @@
- [1.1.5.3 写入文件](#1153-写入文件)
- [1.1.5.4 保存变量](#1154-保存变量)
- [1.1.6 练习](#116-练习)
- [1.1.7 组织文件](#117--组织文件)
- [1.1.1.7.1 shutil模块](#11171-shutil模块)
- [1.1.1.7.2 复制文件和文件夹](#11172-复制文件和文件夹)
- [1.1.7 组织文件](#117--组织文件)
- [1.1.7.1 shutil模块](#1171-shutil模块)
- [1.1.7.2 复制文件和文件夹](#1172-复制文件和文件夹)
- [1.1.7.3 文件和文件夹的移动与改名](#1173-文件和文件夹的移动与改名)
- [1.1.7.4 永久删除文件和文件夹](#1174-永久删除文件和文件夹)
- [1.1.7.5 用send2trash模块安全地删除](#1175-用send2trash模块安全地删除)
Expand Down Expand Up @@ -390,11 +390,11 @@ myCats.cats[0]['name']

所有这种无聊的任务,正是在请求用 Python 实现自动化。通过对电脑编程来完成这些任务,你就把它变成了一个快速工作的文件职员,而且从不犯错。

#### 1.1.1.7.1 shutil模块
#### 1.1.7.1 shutil模块

`shutil`(或称为shell工具)模块中包含一些函数,可以在Python程序中复制、移动、改名和删除文件。要使用`shutil`的函数,首先需要`import shutil`

#### 1.1.1.7.2 复制文件和文件夹
#### 1.1.7.2 复制文件和文件夹

`shutil.copy(source, destination)`:将路径source处的文件复制到路径 destination处的文件夹(source 和 destination 都是字符串),并返回新复制文件绝对路径字符串。

Expand Down Expand Up @@ -438,9 +438,9 @@ shutil.copytree('D:\\Datawhale\\python办公自动化','D:\\Datawhale\\practice'

1)、如果source和destination是文件夹,且destination已存在,则会将source文件夹下所有内容复制到destination文件夹中。移动。

2、如果source是文件夹,destination不存在,则会将source文件夹下所有内容复制到destination文件夹中,source原文件夹名称将被替换为destination文件夹名。 移动+重命名
2)、如果source是文件夹,destination不存在,则会将source文件夹下所有内容复制到destination文件夹中,source原文件夹名称将被替换为destination文件夹名。 移动+重命名

3、如果source和destination是文件,source处的文件将被移动到destination处的位置,并以destination处的文件名进行命名,移动+重命名。
3)、如果source和destination是文件,source处的文件将被移动到destination处的位置,并以destination处的文件名进行命名,移动+重命名。

注意:如果destination中有原来已经存在同名文件,移动后,会被覆写,所以应当特别注意。

Expand Down Expand Up @@ -625,7 +625,7 @@ exampleZip.close()

1)、编写一个程序,遍历一个目录树,查找特定扩展名的文件(诸如.pdf 或.jpg)。不论这些文件的位置在哪里, 将它们拷贝到一个新的文件夹中。

2) 、一些不需要的、 巨大的文件或文件夹占据了硬盘的空间, 这并不少见。如果你试图释放计算机上的空间, 那么删除不想要的巨大文件效果最好。但首先你必须找到它们。编写一个程序, 遍历一个目录树, 查找特别大的文件或文件夹, 比方说, 超过100MB 的文件(回忆一下,要获得文件的大小,可以使用 os 模块的 `os.path.getsize()`)。将这些文件的绝对路径打印到屏幕上。
2)、一些不需要的、 巨大的文件或文件夹占据了硬盘的空间, 这并不少见。如果你试图释放计算机上的空间, 那么删除不想要的巨大文件效果最好。但首先你必须找到它们。编写一个程序, 遍历一个目录树, 查找特别大的文件或文件夹, 比方说, 超过100MB 的文件(回忆一下,要获得文件的大小,可以使用 os 模块的 `os.path.getsize()`)。将这些文件的绝对路径打印到屏幕上。

3)、编写一个程序, 在一个文件夹中, 找到所有带指定前缀的文件, 诸如 spam001.txt,spam002.txt 等,并定位缺失的编号(例如存在 spam001.txt 和 spam003.txt, 但不存在 spam002.txt)。让该程序对所有后面的文件改名, 消除缺失的编号。作为附加的挑战,编写另一个程序,在一些连续编号的文件中,空出一些编号,以便加入新的文件。

Expand Down