shutil模块操作文件

"""
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')
posted @ 2022-02-14 09:19  fly_bk  阅读(71)  评论(0编辑  收藏  举报