组织文件|Python 组织文件(shutil模块与os,send2trash安全删除模块)

Python shutil模块。
shutil模块或者称为shell工具中包含了一些函数,让你在python程序中复制,移动,改名,删除文件得心应手要使用shutil模块,首先需要import shutil。
复制文件和文件夹 shutil.copy((src, dst) ,表示将入经src下的文件复制到dst文件夹下。若dst字符串指定为文件类名字,则复制过程中更改文件名字。

import os, shutil # shutil.copy((src, dst) print(os.getcwd()) # D:\pyillshutil.copy('D:\\pyill\\text1','D:\\pyill\\destination') print os.listdir('D:\\pyill\\destination') # ['text1']shutil.copy('D:\\pyill\\text1','D:\\pyill\\destination\\eggtext.txt') print os.listdir('D:\\pyill\\destination') # ['eggtext.txt', 'text1']

##shutil.copytree(src, dst, symlinks=False, ignore=None): 将src处的文件夹(包括子文件和文件夹)复制到dst处的文件夹,若dst不存在,则创建。
import os, shutilshutil.copytree('D:\\pyill\\destination','D:\\pyill\\pydsc') print os.listdir('D:\\pyill\\pydsc') # ['eggtext.txt', 'text1']

文件夹的移动与改名 shutil.move(src, dst),把一个路径文件src移动到路径dst处,如果路径dst为文件名格式,则文件src移动后并改名。移动的路径det必须已经存在。
import os, shutilshutil.move('D:\\pyill\\text1','D:\\pyill\\pydec') print os.listdir('D:\\pyill\\pydec') # ['text1']shutil.move('D:\\pyill\\pydec\\text1','D:\\pyill\\modtext.txt') print os.listdir('D:\\pyill') # ['.idea', 'destination', 'modtext.txt', 'pydec', 'pydsc', 'py_shuil.py']#\pyill\\cc文件夹不存在 shutil.move('D:\\pyill\\pydec2','D:\\pydec2') # IOError: [Errno 2] No such file or directory: 'D:\\pyill\\cc\\pydec2'```shutil.move方法有一些小坑不被重视,当一个文件(.txt),从一个文件夹移动到另一个文件夹时,拓展名可能更改为其他文件名字,也可能这个名字不具备常用文件格式名,这就对以后的开发查找备份等不变,平时要慎用这个方法

shutil.move('D:\\pyill\\pydec2','D:\\pydec2')shutil.move('D:\\pyill\\pydec3.txt','D:\\pydec3')

永久删除文件和文件夹
os.unlink(path) 将删除path处的文件。
os.rmdir(path)将删除path处的文件夹,文件夹必须为空文件夹。
shutil.rmtree(path),将递归删除path处的文件夹及文件
for filename in os.listdir('D:\\pyill\\pydsc'): if filename.endswith('.txt'): #删除以.txt结尾的文件 os.unlink(filename) print filename if os.path.isdir('D:\\pyill\\' + filename) and(not os.listdir('D:\\pyill\\+ filename')): #删除空文件夹 os.rmdir('D:\\pyill\\' + filename)#直接删除pyill文件夹及其子文件文件夹 shutil.rmtree('D:\\pyill')

send2trash安全删除模块
以上方法删除文件都是不可恢复的删除,在开发过程中,有些程序员经常误删文件,所以那些方法有时候用起来特别不安全。send2trash为第三方的删除工具,它把文件删除前会把文件发到计算机的垃圾箱或者回收站,如果删除的文件为重要文件,可以从垃圾箱中恢复。
【组织文件|Python 组织文件(shutil模块与os,send2trash安全删除模块)】使用前需要安装 pip install send2trash
importsend2trashbaconfile = open('bacon.txt','a')baconfile.write('bacon is important') baconfile.close() send2trash.send2trash('bacon.txt')

    推荐阅读