(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
|