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
相關用法
- Python next()用法及代碼示例
- Python os.dup()用法及代碼示例
- Python set()用法及代碼示例
- Python Decimal max()用法及代碼示例
- Python PIL ImageOps.fit()用法及代碼示例
- Python os.rmdir()用法及代碼示例
- Python sympy.det()用法及代碼示例
- Python Decimal min()用法及代碼示例
- Python os.readlink()用法及代碼示例
- Python os.writev()用法及代碼示例
- Python os.readv()用法及代碼示例
- Python PIL RankFilter()用法及代碼示例
- Python os.rename()用法及代碼示例
- Python os.sendfile()用法及代碼示例
注:本文由純淨天空篩選整理自ihritik大神的英文原創作品 Python | shutil.copystat() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。