Python| shutil.copytree() 方法
Python中的Shutil 模块提供了许多对文件和文件集合进行高级操作的功能。它属于 Python 的标准实用程序模块。该模块有助于自动复制和删除文件和目录的过程。
shutil.copytree()
方法递归地复制以源 (src) 为根的整个目录树到目标目录。由 (dst) 命名的目标目录必须不存在。它将在复制期间创建。使用 copystat() 复制目录的权限和时间,使用 shutil.copy2() 复制单个文件。
Syntax: shutil.copytree(src, dst, symlinks = False, ignore = None, copy_function = copy2, igonre_dangling_symlinks = False)
Parameters:
src: A string representing the path of the source directory.
dest: A string representing the path of the destination.
symlinks (optional) : This parameter accepts True or False, depending on which the metadata of the original links or linked links will be copied to the new tree.
ignore (optional) : If ignore is given, it must be a callable that will receive as its arguments the directory being visited by copytree()
, and a list of its contents, as returned by os.listdir()
.
copy_function (optional): The default value of this parameter is copy2. We can use other copy function like copy()
for this parameter.
igonre_dangling_symlinks (optional) : This parameter value when set to True is used to put a silence on the exception raised if the file pointed by the symlink doesn’t exist.
Return Value: This method returns a string which represents the path of newly created directory.
示例 #1:
使用shutil.copytree()
方法将文件从源复制到目标
# Python program to explain shutil.copytree() method
# importing os module
import os
# importing shutil module
import shutil
# path
path = 'C:/Users / Rajnish / Desktop / GeeksforGeeks'
# List files and directories
# in 'C:/Users / Rajnish / Desktop / GeeksforGeeks'
print("Before copying file:")
print(os.listdir(path))
# Source path
src = 'C:/Users / Rajnish / Desktop / GeeksforGeeks / source'
# Destination path
dest = 'C:/Users / Rajnish / Desktop / GeeksforGeeks / destination'
# Copy the content of
# source to destination
destination = shutil.copytree(src, dest)
# List files and directories
# in "C:/Users / Rajnish / Desktop / GeeksforGeeks"
print("After copying file:")
print(os.listdir(path))
# Print path of newly
# created file
print("Destination path:", destination)
Before copying file:
['source']
After copying file:
['destination', 'source']
Destination path: C:/Users/Rajnish/Desktop/GeeksforGeeks/destination
示例 #2:
使用shutil.copytree()
方法通过shutil.copy()
() 方法复制文件。
# Python program to explain shutil.copytree() method
# importing os module
import os
# importing shutil module
import shutil
# path
path = 'C:/Users / Rajnish / Desktop / GeeksforGeeks'
# List files and directories
# in 'C:/Users / Rajnish / Desktop / GeeksforGeeks'
print("Before copying file:")
print(os.listdir(path))
# Source path
src = 'C:/Users / Rajnish / Desktop / GeeksforGeeks / source'
# Destination path
dest = 'C:/Users / Rajnish / Desktop / GeeksforGeeks / destination'
# Copy the content of
# source to destination
# using shutil.copy() as parameter
destination = shutil.copytree(src, dest, copy_function = shutil.copy)
# List files and directories
# in "C:/Users / Rajnish / Desktop / GeeksforGeeks"
print("After copying file:")
print(os.listdir(path))
# Print path of newly
# created file
print("Destination path:", destination)
Before copying file:
['source']
After copying file:
['destination', 'source']
Destination path: C:/Users/Rajnish/Desktop/GeeksforGeeks/destination
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。