python操作文件的shutil模块


shutil是一个比较强大的python的操作文件的包。

安装

pip install shutil

一、复制文件

1.shutil.copy()
#返回值是复制之后的路径
shutil.copy('来源文件','目标地址')
2.shutil.copy2()

和shutil.copy()差不多,复制后的结果保留了原来的所有信息(包括状态信息)。

3.shutil.copyfile()

将一个文件的内容拷贝的另外一个文件当中。

#返回值是复制之后的路径
shutil.copyfile(来源文件,目标文件)
4.shutil.copyfileobj()

将一个文件的内容拷贝的另外一个文件当中,用的比较少。

shutil.copyfileobj(open(来源文件,'r'),open'目标文件','w')
5.shutil.copytree()

复制整个文件目录:无论文件夹是否为空,均可以复制,而且会复制文件夹中的所有内容。

shutil.copytree(来源目录,目标目录)

二、删除文件

shutil.retree()

(删除的是文件夹,如果删除文件os.unlink(path))

移除整个目录,无论是否空:

shutil.rmtree(目录路径)

三、移动文件

move()
shutil.move(来源地址,目标地址)

四、案例分享

(1)读取txt中的文件名列表,复制文件到另一个文件夹

#coding:utf-8
import os
from shutil import copyfile
f=open("test_list.txt")
line = f.readline()#one line
source_dir_prefix="/fww/student/sl/"
target_dir_prefix="/fww/student/evaluate"
while line:
    source_dir=source_dir_prefix+line[0:len(line)-1]#output/xxx.hdf5
    target_dir=target_dir_prefix+line[7:len(line)-1]#data/xxx.hdf5
    print(target_dir)
    copyfile(source_dir,target_dir)
    line = f.readline()#one line

(2)若进行大量文件复制的过程中,出现同样名字被覆盖的问题

import os
import time
#判断文件名已经存在
 if os.path.exists(file_path+'\\'+wordFile2):
        #把原来的文件名进行改掉   
        #主要是如果循环多,重复的名字多,所以用时间戳进行代替,不会弄重复  
        os.rename(file_path+'\\'+wordFile2, file_path+'\\'+str(time.time())+wordFile2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值