shutil模块

来源:互联网 发布:淘宝信用卡在哪申请 编辑:程序博客网 时间:2024/06/06 00:15
  1. 复制文件和文件夹
    1. 复制文件: shutil.copy(source, destination)
      1. 将复制一个文件
      2. Source: 被复制的文件路径(如:'C:\\test.txt').
      3. Destination: 文件最终要粘贴的地址,如果destination是一个文件名,它将作为被复制文件的新名字.
        1. 若是不存在的地址:如:'C:\\a', 这时会把a当做新的文件名,方法会执行成功.
        2. 若是不存在的地址:如:'C:\\a\b'(a和b都是不存在的),这是就会报错,因为'C:\\a'这个路径是不存在的.
      4. Return: 返回一个字符串,表示复制文件的新地址(如:'C:\\folder\\testNew.txt').
    1. 复制文件夹: shutil.copytree(source, destination)
      1. 将复制整个文件夹,以及它包含的文件夹和文件
      2. Source: 被复制的文件路径(如:'C:\\bacon')
      3. Destination: 这个路径必须是不存在的(存在时会报错),方法执行时会创建,并把source文件夹的文件夹及文件全部拷到这个路径下.
      4. Return: 返回一个字符串,是新复制的文件夹的路径.

 

  1. 文件和文件夹的移动及改名:  shutil.move(source, destination)
    1. 文件(source:r'C:\Users\eilmoro\Desktop\test\stx01.txt')
      1. destination为存在的文件夹(r'C:\Users\eilmoro\Desktop\test\New01'),会执行成功,return:'C:\\Users\\eilmoro\\Desktop\\test\\New01\\stx01.txt'.
      1. destination为文件夹,最后一层文件夹不存在时(r'C:\Users\eilmoro\Desktop\test\noexist'),会执行成功,return: 'C:\\Users\\eilmoro\\Desktop\\test\\noexist', 吧source文件改名为noexist再move
      2. destination为文件夹,文件夹不存在(不止一层不存在时:r'C:\Users\eilmoro\Desktop\test\noexist01\noexist02'),会报错
      1. destination为文件,文件夹路径(r'C:\Users\eilmoro\Desktop\test\New01')存在(文件名随意都可以,如:r'C:\Users\eilmoro\Desktop\test\New01\s.txt), 执行成功,return: 'C:\\Users\\eilmoro\\Desktop\\test\\New01\\s.txt'
      2. destination为文件,文件夹路径路径不存在是,会报错
    1. 文件夹(source:r'C:\Users\eilmoro\Desktop\test\st01')
      1. destination为存在的文件夹:r'C:\Users\eilmoro\Desktop\test\New01', 执行成功,return: 'C:\\Users\\eilmoro\\Desktop\\test\\New01\\st01'
      2. destination为不存在的文件夹:r'C:\Users\eilmoro\Desktop\test\00',执行成功,return: 'C:\\Users\\eilmoro\\Desktop\\test\\00'

 

  1. 永久删除文件和文件夹
    1. 删除文件:删除path处的文件
      1. os.unlink(path)
  1. 删除文件夹:
    1.  os.rmdir(path): 删除path处的文件夹,该文件夹必须为空
    2. shutil.removetree(path): 是不可恢复的删除,删除path处的文件夹,以及文件夹下的所有的子文件夹及文件

 

  1. 安全删除(send2trash)
    1. send2trash.send2trash(path): 会把path文件夹及文件夹下所有的文件及文件夹都发送到回收箱
原创粉丝点击