python-shutil模块-复制、 移动、改名、删除文件/文件夹

shutil模块:python内置模块

一、复制文件和文件夹

1. shutil.copy(source, destination) 复制一个文件

将路径 source 处的文件复制到路径 destination处的文件夹

  • 在同一路径下

    import shutil
    shutil.copy('demo1.txt','demo2.txt')
    

    将demo1里的内容复制到demo2中
    python-shutil模块-复制、 移动、改名、删除文件/文件夹_第1张图片

  • 在不同路径下

    import shutil
    shutil.copy('demo1.txt','C:\\Users\\lenovo\\Documents')
    

    将demo1.txt文件复制到C:\\Users\\lenovo\\Documents路径下
    路径后也可以跟具体文件名,若没有该文件,会自动创建该新文件
    练习:shutil.copy(‘demo1.txt’,‘C:\Users\lenovo\Documents\eggs.txt’)
    python-shutil模块-复制、 移动、改名、删除文件/文件夹_第2张图片

2.shutil.copytree(source, destination) 复制整个文件夹,以及它包含的文件夹和文件

将路径 source 处的文件夹,包括它的所有文件和子文件夹,复制到路径 destination 处的文件夹

二、文件和文件夹的移动与改名

1.shutil.move(source, destination)

shutil.move('D:\\桌面\\eggs','C:\\Users\\lenovo\\documents')

将桌面的eggs文件夹移动到C盘文档的文件夹下

在这里插入图片描述

python-shutil模块-复制、 移动、改名、删除文件/文件夹_第3张图片

shutil.move('D:\\桌面\\eggs','C:\\Users\\lenovo\\documents\\egg')
# 将eggs文件夹移动到documents文件夹下,并将eggs文件夹改名为egg文件夹

三、永久删除文件和文件夹

  • 利用 os 模块中的函数,可以删除一个文件或一个空文件夹

    os.unlink(path) :删除 path 处的文件

    os.rmdir(path) : 删除 path 处的文件夹。该文件夹必须为空,其中没有任何文件和文件夹

  • 利用 shutil 模块,可以删除一个文件夹及其所有的内容

    shutil.rmtree(path) :删除 path 处的文件夹,它包含的所有文件和文件夹都会被删除
    该方法不可恢复地删除文件和文件夹,需谨慎使用

import os
for filename in os.listdir():
	if filename.endswith('.rxt'):
		print(filename)
	# os.unlink(filename)
	# os.unlink是永久删除,可以先打出这些文件的文件名,看看是否是你需要删除的

四、用 send2trash 模块安全地删除

利用 send2trash,可以将文件夹和文件发送到计算机的垃圾站或回收箱

需要安装send2trash模块

pip install send2trash

send2trash.send2trash()函数

import send2trash
file = open('bacon.txt','w')
file.write('asdfghjkl')
file.close()
send2trash.send2trash('bacon.txt')	# 删除bacon.txt文件,在回收站可以看到

在这里插入图片描述

你可能感兴趣的:(python)