- 复制文件和文件夹
- 复制文件: shutil.copy(source, destination)
- 将复制一个文件
- Source: 被复制的文件路径(如:'C:\\test.txt').
- Destination: 文件最终要粘贴的地址,如果destination是一个文件名,它将作为被复制文件的新名字.
- 若是不存在的地址:如:'C:\\a', 这时会把a当做新的文件名,方法会执行成功.
- 若是不存在的地址:如:'C:\\a\b'(a和b都是不存在的),这是就会报错,因为'C:\\a'这个路径是不存在的.
- Return: 返回一个字符串,表示复制文件的新地址(如:'C:\\folder\\testNew.txt').
- 复制文件: shutil.copy(source, destination)
- 复制文件夹: shutil.copytree(source, destination)
- 将复制整个文件夹,以及它包含的文件夹和文件
- Source: 被复制的文件路径(如:'C:\\bacon')
- Destination: 这个路径必须是不存在的(存在时会报错),方法执行时会创建,并把source文件夹下的文件夹及文件全部拷到这个路径下.
- Return: 返回一个字符串,是新复制的文件夹的路径.
- 复制文件夹: shutil.copytree(source, destination)
- 文件和文件夹的移动及改名: shutil.move(source, destination)
- 文件(source:r'C:\Users\eilmoro\Desktop\test\stx01.txt')
- destination为存在的文件夹(r'C:\Users\eilmoro\Desktop\test\New01'),会执行成功,return:'C:\\Users\\eilmoro\\Desktop\\test\\New01\\stx01.txt'.
- destination为文件夹,最后一层文件夹不存在时(r'C:\Users\eilmoro\Desktop\test\noexist'),会执行成功,return: 'C:\\Users\\eilmoro\\Desktop\\test\\noexist', 吧source文件改名为noexist再move
- destination为文件夹,文件夹不存在(不止一层不存在时:r'C:\Users\eilmoro\Desktop\test\noexist01\noexist02'),会报错
- 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'
- destination为文件,文件夹路径路径不存在是,会报错
- 文件(source:r'C:\Users\eilmoro\Desktop\test\stx01.txt')
- 文件夹(source:r'C:\Users\eilmoro\Desktop\test\st01')
- destination为存在的文件夹:r'C:\Users\eilmoro\Desktop\test\New01', 执行成功,return: 'C:\\Users\\eilmoro\\Desktop\\test\\New01\\st01'
- destination为不存在的文件夹:r'C:\Users\eilmoro\Desktop\test\00',执行成功,return: 'C:\\Users\\eilmoro\\Desktop\\test\\00'
- 文件夹(source:r'C:\Users\eilmoro\Desktop\test\st01')
- 永久删除文件和文件夹
- 删除文件:删除path处的文件
- os.unlink(path)
- 删除文件:删除path处的文件
- 删除文件夹:
- os.rmdir(path): 删除path处的文件夹,该文件夹必须为空
- shutil.removetree(path): 是不可恢复的删除,删除path处的文件夹,以及文件夹下的所有的子文件夹及文件
- 安全删除(send2trash)
- send2trash.send2trash(path): 会把path文件夹及文件夹下所有的文件及文件夹都发送到回收箱