Python-Shutil模块
Python程序中复制、移动、改名和删除文件
- shutil.copy(source,destination)
- shutil.copytree(source,destination)
- shutil.move(src,dst)
import shutil,os
# shutil.copy(source,destin) 该函数返回复制文件的路径(字符串)
os.chdir(r"C:/Users/zfb/Desktop")
shutil.copy("Test.txt","Excel365/")
'Excel365/Test.txt'
shutil.copytree 需要在第二个参数中传入新建的路径,既程序运行前并不存在的路径
shutil.copytree("Excel365/","E:/Python/Excel")
'E:/Python/Excel'
文件和文件夹的移动与改名
调用shutil.move(source, destination),将路径source 处的文件夹移动到路径destination,并返回新位置的*绝对路径*的字符串
- 当dst参数,是文件夹名称时,会将源地址文件中的文件复制到目标地址中,如果存在同名文件会覆盖目标地址中的文件
- 当dst参数,是文件名称时,表示文件被移动并改名
eg.
shutil.move('C:\\bacon.txt', 'C:\\eggs')
move()在C:\目录下找不到名为eggs 的文件夹,所以假定destination 指的是一个文件,而非文件夹。
所以bacon.txt 文本文件被改名为eggs(没有.txt 文件扩展名的文本文件)
注意:
构成目的地的文件夹必须已经存在,否则Python会抛出异常
永久删除文件和文件夹
shutil可以删除一个文件夹及其所有的内容;os模块中的函数,可以删除一个文件或一个空文件夹
os.unlink(path)
os.rmdiri(path) # 删除文件夹,文件夹必须为空
shutil.rmtree(path) # 将包含的所有文件和文件夹都会被删除
os.listdir()
['desktop.ini',
'Excel365',
'jdk-8u301-windows-x64.exe',
'JS学习.pdf',
'Test.txt',
'Test_copy.txt',
'北京-项目一组-2021年述职答辩(白志飞).pptx',
'大屏指标.xlsx']
eg.
建议在删除文件前,先打印出文件名称以防误操作
send2trash模块安全删除
import send2trash
send2trash,会将文件和文件夹发送到计算机的垃圾箱或回收站中
baconFile = open('bacon.txt', 'a') # creates the file
baconFile.write('Bacon is not a vegetable.')
baconFile.close()
send2trash.send2trash('bacon.txt')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)