Python提供了内置函数,可使用操作系统Shell工具轻松复制文件。
以下命令用于复制文件
shutil.copy(src,dst)
以下命令用于复制带有元数据信息的文件
注:元数据信息指文件的读写权限,拥有者等信息
shutil.copystat(src,dst)
以下是在Python中复制文件的步骤
步骤1)在复制文件之前,我们需要获取当前目录中原始文件的路径。
代码说明
步骤2)我们使用Shutil模块创建现有文件的副本。 现在我们来创建现有文件“ guru.txt”的副本。
代码说明
步骤3)copy函数仅复制文件的内容,而不复制其他信息。 要复制与文件关联的元数据,文件许可权和其他信息,您必须使用“ copystat”函数。 在运行此代码之前,我们必须删除我们的复制文件“ guru.text.bak”。
删除文件并运行程序后,将创建.txt文件的副本,但这一次包含所有信息,例如文件许可权,修改时间和元数据信息。 您可以转到操作系统的Shell来验证信息。
这是代码
import os
import shutil
from os import path
def main():
# make a duplicate of an existing file
if path.exists("guru.txt"):
# get the path to the file in the current directory
src = path.realpath("guru.txt");
#seperate the path from the filter
head, tail = path.split(src)
print("path:" +head)
print("file:" +tail)
#let's make a backup copy by appending "bak" to the name
dst = src+".bak"
# nowuse the shell to make a copy of the file
shutil.copy(src, dst)
#copy over the permissions,modification
shutil.copystat(src,dst)
if __name__=="__main__":
main()
步骤4)您可以获取有关上次修改的文本文件的信息
这是代码
#
# Example file for working with o.s path module
import os
from os import path
import datetime
from datetime import date, time, timedelta
import time
def main():
# Get the modification time
t = time.ctime(path.getmtime("guru99.txt.bak"))
print(t)
print(datetime.datetime.fromtimestamp(path.getmtime("guru.txt.bak")))
if __name__ == "__main__":
main()
使用shutil.copy (src,dst) 创建现有文件的副本
使用shutil.copystat(src,dst)将原始文件的所有信息复制到重复文件中,例如文件许可权,修改时间或元数据信息