当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python shutil.copystat()用法及代码示例


Python中的Shutil模块提供了许多对文件和文件集合进行高级操作的函数。它属于Python的标准实用程序模块。此模块有助于自动执行文件和目录的复制和删除过程。

shutil.copystat()Python中的方法用于将权限位,最后访问时间,最后修改时间和标志值从给定的源路径复制到给定的目标路径。的shutil.copystat()方法不会影响文件内容以及所有者和组信息。
在Linux上,此方法还尝试复制一些扩展属性,除了权限位最后访问时间最后修改时间标志值。

用法: shutil.copystat(source, destination, *, follow_symlinks = True)

参数:
source:代表源文件路径的字符串。
destination:代表目标文件路径的字符串。
follow_symlinks(可选):此参数的默认值为True。如果为False,并且源和目标均都引用符号链接,则shutil.copystat()方法将对符号链接本身(而不是符号链接引用的文件)进行操作。

Note:参数列表中的“ *”表示以下所有参数(此处为“ follow_symlinks”)仅是关键字参数,可以使用其名称(而不是位置参数)来提供。

返回类型:此方法不返回任何值。

代码:使用shutil.copystat()方法将元数据从源复制到目标路径
# Python program to explain shutil.copystat() method  
    
# importing os module  
import os 
  
# importing shutil module  
import shutil 
  
# importing time module  
import time 
  
  
# Source file path 
src = "/home/ihritik/Desktop/sam3.pl"
  
  
# Destination file path 
dest = "/home/ihritik/Desktop/encry.py"
  
  
# Print the permission bits 
# last access time, last modification time 
# and flags value of source and dstination files 
print("Before using shutil.copystat() method:") 
print("Source metadata:") 
print("Permission bits:", oct(os.stat(src).st_mode)[-3:]) 
print("Last access time:", time.ctime(os.stat(src).st_atime)) 
print("Last modification time:", time.ctime(os.stat(src).st_mtime)) 
# print("User defined Flags:", os.stat(src).st_flags) 
  
# Note:st_flags attribute is platform dependent  
# and is subject to availability 
  
print("\nDestination metadata:") 
print("Permission bits:", oct(os.stat(dest).st_mode)[-3:]) 
print("Last access time:", time.ctime(os.stat(dest).st_atime)) 
print("Last modification time:", time.ctime(os.stat(dest).st_mtime)) 
# print("User defined Flags:", os.stat(dest).st_flags) 
  
  
# Copy the permission bits 
# last access time, last modification time 
# and flags value from source to dstination 
shutil.copystat(src, dest) 
  
  
# Print the permission bits 
# last access time, last modification time 
# and flags value of dstination 
print("\nAfter using shutil.copystat() method:") 
print("Destination metadata:") 
print("Permission bits:", oct(os.stat(dest).st_mode)[-3:]) 
print("Last access time:", time.ctime(os.stat(dest).st_atime)) 
print("Last modification time:", time.ctime(os.stat(dest).st_mtime)) 
# print("User defined Flags:", os.stat(dest).st_flags) 
  
print("Permission bits, last access time and last modification time\n\ 
copied from source to destination successfully")
输出:
Before using shutil.copystat() method:
Source metadata:
Permission bits:664
Last access time:Mon Jun 10 00:37:16 2019
Last modification time:Thu Dec 27 00:15:23 2018

Destination metadata:
Permission bits:777
Last access time:Fri Apr 12 01:13:25 2019
Last modification time:Thu Apr 11 02:03:45 2019

After using shutil.copystat() method:
Destination metadata:
Permission bits:664
Last access time:Mon Jun 10 00:37:16 2019
Last modification time:Thu Dec 27 00:15:23 2018

Permission bits, last access time and last modification time
copied from source to destination successfully

参考: https://docs.python.org/3/library/shutil.html



相关用法


注:本文由纯净天空筛选整理自ihritik大神的英文原创作品 Python | shutil.copystat() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。