Python 利用 shutil 模块复制文件(下)

这篇博客介绍了Python的shutil模块中用于复制文件的函数,包括copy()和copy2()。copy()函数会在目标目录下创建与源文件同名的文件,而copy2()除了复制文件外,还会保留源文件的元数据,如访问和修改时间。通过示例程序展示了如何检查元数据是否被正确复制。
摘要由CSDN通过智能技术生成

(3)复制函数 shutil.copy(src, dst)。
该函数的工作方式与 copyfile()类似,区别是 copy(src, dst)的 dst 如果是一个目录,则会在这个目录下创建一个和源文件名一样的目标文件,而 copyfile()的 dst 则必须是一个文件。
(4)复制函数 shutil.copy2(src, dst)。
该函数的工作方式与 copy()类似,但还会将元数据(如访问和修改时间)也复制到新文件中。
例如,可以用如下程序来验证元数据是否一起复制到目标文件中:

import os 
import shutil 
import time 
def show_file_info(filename): 
    stat_info = os.stat(filename)
    print(' Mode :', oct(stat_info.st_mode))
    print(' Created :', time.ctime(stat_info.st_ctime))
    print(' Accessed:', time.ctime(stat_info.st_atime))
    print(' Modified:', time.ctime(stat_info.st_mtime))
os.mkdir('tmp')
print('SOURCE:')
show_file_info('test.py')
shutil.copy2('test.py', 'tmp')
print('DEST:')
show_file_info('tmp/test.py')

程序输出:

SOURCE: 
 Mode : 0o100666 
 Created : Sun Jul 8 15:54:12 2018 
 Accessed: Sun Jul 8 15:54:12 2018 
 Modified: Sat Jun 16 08:12:56 2018 
DEST: 
 Mode : 0o100666 
 Created : Thu Jul 12 19:54:55 2018 
 Accessed: Sun Jul 8 15:54:12 2018 
 Modified: Sat Jun 16 08:12:56 2018 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值