一、复制、移动、删除文件
- 复制文件或文件夹
import shutil
import os
'''
使用shutil.copy进行文件复制
(这里采用相对地址)
'''
os.chdir(r"D:\test")
shutil.copy("111.txt","222.txt")
shutil.copy("111.txt","222")
shutil.copy("111.txt",r"222\222.txt")
'''
使用shutil.copytree进行文件夹复制,会复制文件夹内的所有文件及所有子文件夹
(这里采用绝对地址)
'''
shutil.copytree(r"D:\test\222",r"D:\test\111")
- 移动文件或文件夹
import shutil
'''
使用shutil.move移动文件或文件夹
'''
print(shutil.move(r"D:\test\111.txt",r"D:\test\222"))
print(shutil.move(r"D:\test\111.txt",r"D:\test\333"))
print(shutil.move(r"D:\test\111.txt",r"D:\test\333\444"))
print(shutil.move(r"D:\test\222",r"D:\test\新建文件夹1\222\333"))
- 删除文件或文件夹
import shutil
import os
import send2trash
'''
使用os.unlink彻底删除文件
使用os.rmdir彻底删除空文件夹
使用shutil.rmtree彻底删除文件夹(非空也可以)
使用send2trash.send2trash删除文件或文件夹(非空也可以,会发送到回收站,是一种较为安全的删除方式)
'''
os.unlink(r"D:\test\111.txt")
os.rmdir(r"D:\test\111")
shutil.rmtree(r"D:\test\222")
send2trash.send2trash(r"D:\test\新建文件夹 (2)")
二、遍历文件夹
- 遍历文件夹
'''
遍历某个文件夹,依级列出当中所有的文件夹路径字符、子文件夹列表、文件列表。
如果传入的path是绝对路径,则此时返回值也为绝对路径。
如果传入的path是相对路径,则此时返回值也为相对路径,
如果此时想使用绝对路径,可以用sys.path[0]获取当前工作目录。
'''
for folderName, subfolders, filenames in os.walk(r"D:\test"):
print(folderName)
print(subfolders)
print(filenames)
三、压缩文件
使用zipfile模块压缩文件
example_zipfile=zipfile.ZipFile("test2.zip","w")
example_zipfile.write(r"test\新建文件夹2")
print(example_zipfile.namelist())
example_zipfile.close()