python2.x shutil模块和send2trash模块

shutil模块
    shutil(或称为shell工具)模块中包含一些函数,让你在python程序中复制、移动、改名和删除文件。
    要使用shutil的函数,首先需要import shutil

    1.复制文件和文件夹
    shutil模块提供了一些函数,用于复制文件和整个文件夹。
    调用shutil.copy(source,destination), 将路径source处的文件复制到路径destination处的文件夹(source和destination都是字符串)
    如果destination是一个文件名,它将作为被复制文件的新名字。该函数返回一个字符串,表示被复制文件的路径。

    shutil.copy()将复制一个文件,shutil.copytree()将复制整个文件夹,以及它包含的文件夹和文件。
    shutil.copytree(source, destination), 将路径source处的文件夹,包括它的所有文件和子文件夹,复制到路径destination处的文件夹。
    source和destination参数都是字符串。该函数返回一个字符串,是新复制的文件夹的路径

    2.文件和文件夹的移动与改名
    调用shutil.move(source, destination), 将路径source处的文件夹移动到路径destination,并返回新位置的绝对路径的字符串。
    如果destination指向一个文件夹,source文件将移动到destination中,并保持原来的文件名。

    3.永久删除文件和文件夹
    利用os模块中的函数,可以删除一个文件或一个空文件夹。但利用shutil模块,可以删除一个文件夹及其所有的内容。
        1. 利用os.unlink(path) 将删除path处的文件。
        2. 调用os.rmdir(path) 将删除path处的文件夹。该文件夹必须为空,其中没有任何文件和文件夹
        3. 调用shutil.rmtree(path) 将删除path处的文件夹,它包含的所有文件和文件夹都会被删除。

send2trash模块
    因为Python内建的shutil.rmtree() 函数不可恢复地删除文件和文件夹,可以利用send2trash模块安全地删除。
    利用send2trash,比Python常规的删除函数要安全得多,因为它会将文件夹和文件发送到计算机的垃圾箱或回收站,而不是永久删除他们。

    send2trash.send2trash()函数来删除文件和文件夹。虽然它将文件发送到垃圾箱,让你稍后能够恢复她们,但是这不像永久删除文件,不会释放磁盘空间。
    如果你希望程序释放磁盘空间,就要利用os和shutil来删除文件和文件夹。注意,send2trash() 函数只能将文件发送到垃圾箱,不能从中恢复文件。遍历目录树 os.walk()函数

import os

for folder_name, sub_folders, file_names in os.walk('c:\\test'):
    print 'The current folder is', folder_name
    for sub_folder in sub_folder:
        print 'SUBFOLDER OF %s : %s' % (folder_name, sub_folder)
    for file_name in file_names:
        print 'FILE INSIDE %s : %s ' % (folder_name, file_name)

os.walk()函数被传入一个字符串值,即一个文件夹的路径。os.walk()函数在循环的每次迭代中,返回3个值:
    1. 当前文件夹名称的字符串
    2. 当前文件夹中子文件夹的字符串的列表
    3. 当前文件夹中文件的字符串的列表

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值