引言
在日常的编程工作中,我们常常需要处理文件和目录的操作,例如复制、移动、重命名等。而Python中的shutil
模块则是处理这些任务的魔法工具。通过shutil
模块,我们能够以简单而高效的方式操控文件和目录,为我们的编程工作带来便利和效率的提升。
Shutil模块的功能
shutil
模块是Python中一个强大的标准库,提供了丰富的功能,包括但不限于:
- 复制文件和目录
- 移动文件和目录
- 重命名文件和目录
- 删除文件和目录
- 创建目录和子目录
- 压缩和解压缩文件
- 监控目录变化
- …
无论是简单的文件操作,还是复杂的目录操作,shutil
模块都能够帮助我们轻松应对。
文件操作示例
下面是一些使用shutil
模块进行文件和目录操作的示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| import shutil import os
if not os.path.isfile('source.txt'): with open('source.txt', 'w') as f: f.write("Hello World!!")
if os.path.isfile('destination.txt'): os.remove('destination.txt')
shutil.copy('source.txt', 'destination.txt')
if not os.path.isdir('./source_folder'): os.mkdir('source_folder')
if os.path.isdir('./destination_folder'): shutil.rmtree('./destination_folder')
shutil.copytree('source_folder', 'destination_folder')
shutil.move('source.txt', './destination_folder/destination.txt')
shutil.move('destination.txt', 'destination_bk.txt')
shutil.make_archive('archive', 'zip', './destination_folder')
if os.path.isdir('./destination_folder1'): shutil.rmtree('./destination_folder1')
shutil.unpack_archive('archive.zip', 'destination_folder1')
|
通过以上示例,我们可以看到shutil
模块提供的简洁而强大的接口,能够轻松实现文件和目录的复制、移动、重命名、删除、创建、压缩、解压缩等操作。
参考资料: