pythoncopy函数_Python的shutil模块中文件的复制操作函数详解

copy()chutil.copy(source, destination)

shutil.copy() 函数实现文件复制功能,将 source 文件复制到 destination 文件夹中,两个参数都是字符串格式。如果 destination 是一个文件名称,那么它会被用来当作复制后的文件名称,即等于 复制 + 重命名。举例如下:

>> import shutil

>> import os

>> os.chdir('C:\\')

>> shutil.copy('C:\\spam.txt', 'C:\\delicious')

'C:\\delicious\\spam.txt'

>> shutil.copy('eggs.txt', 'C:\\delicious\\eggs2.txt')

'C:\\delicious\\eggs2.txt'

如代码所示,该函数的返回值是复制成功后的字符串格式的文件路径。

copyfile()copyfile()将源的内容复制给目标,如果没有权限写目标文件则产生IoError

from shutil import *

from glob import glob

print 'BEFORE:', glob('huanhuan.*')

copyfile('huanhuan.txt', 'huanhuan.txt.copy')

print 'AFTER:', glob('huanhuan.*')

这个函数会打开输入文件进行读写,而不论其类型,所以某些特殊文件不可以用copyfile()复制为新的特殊文件。

>>> ================================ RESTART ================================

>>>

BEFORE: ['huanhuan.txt']

AFTER: ['huanhuan.txt', 'huanhuan.txt.copy']

copyfile()实际是使用了底层函数copyfileobj()。copyfile()的参数是文件名,copyfileobj()的参数是打开的文件句柄。第三个参数可选,用于读入块的缓冲区长度。

from shutil import *

import os

from StringIO import StringIO

import sys

class VerboseStringIO(StringIO):

def read(self, n=-1):

next = StringIO.read(self, n)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值