"""
shutil(或称为 shell 工具)模块中包含一些函数,
让你在 Python 程序中复制、移动、改名和删除文件
"""
import os
import shutil
cwd = os.getcwd()
def copy():
"""复制一个文件,返回被复制文件的新名字"""
os.makedirs(os.path.join(cwd, 'shutilSource'))
# 复制一个文件
shutil.copy('./a.txt', './shutilSource')
shutil.copy('./a.txt', './shutilSource/a_copy.txt')
def copytree():
"""复制整个文件夹,返回新复制的文件夹的路径"""
new_dir_path = shutil.copytree(os.path.join(cwd, 'shutilSource'), os.path.join(cwd, 'shutilSource_copy'))
print(new_dir_path)
def move():
"""文件和文件夹的移动与改名, 会覆盖同名文件
shutil.move('C:\\bacon.txt', 'C:\\eggs\\new_bacon.txt')
eggs如果存在,会移动并重命名
shutil.move('C:\\bacon.txt', 'C:\\eggs'),
eggs如果不存在,会被当作文件处理,也就是重命名,只是没有后缀
shutil.move('C:\\bacon.txt', 'C:\\eggs\\ham'),
eg eggs如果不存在,会抛出异常
"""
shutil.move('./shutilSource/a_copy.txt', cwd)
def rm():
"""
- 用 os.unlink(path)将删除 path 处的文件。
- 调用 os.rmdir(path)将删除 path 处的文件夹。该文件夹必须为空,其中没有任
何文件和文件夹。
- 调用 shutil.rmtree(path)将删除 path 处的文件夹,它包含的所有文件和文件夹都会被删除。
"""
# os.unlink('./a_copy.txt')
# shutil.rmtree('./shutilSource_copy')