使用Python将所有文件从一个目录复制到另一个目录
在本文中,我们将讨论如何使用Python将所有文件从一个目录复制到另一个目录。
这可以使用shutil模块来完成。该模块可在Python用于对目录中的文件和文件夹执行操作。 Shuutil 包有助于在目录之间访问、移动和删除文件。
方法一:使用shutil.copytree()
这 shutil.copytree()方法递归地将以源 (src) 为根的整个目录树复制到目标目录。它用于将文件从一个位置递归复制到另一个位置。目标不应是现有目录。它是在复制操作执行期间创建的。
Syntax: shutil.copytree(src, dst, copy_function = copy2)
Parameter:
- src : source directory
- dst : destination director
- copy_function (optional): Default – copy2(). copy() method may also be used.
Returns :The newly created destination directory name
Python还需要对 os 包的扩展支持,以有效执行与文件操作相关的所有操作。它提供了许多处理目录及其包含的相应文件和文件夹的功能。
os.listdir(dir) ,列出指定目录下的所有文件,dir, os.path.join(a, b) 用于通过分别加入子路径a和b来创建路径。
使用目录:
Python3
import shutil
import os
# path to source directory
src_dir = 'fol1'
# path to destination directory
dest_dir = 'fol2'
# getting all the files in the source directory
files = os.listdir(src_dir)
shutil.copytree(src_dir, dest_dir)
Python3
# importing required packages
from pathlib import Path
import shutil
# defining source and destination
# paths
src = 'source'
trg = 'destination'
files=os.listdir(src)
# iterating over all the files in
# the source directory
for fname in files:
# copying the files to the
# destination directory
shutil.copy2(os.path.join(src,fname), trg)
输出:
方法二:使用shutil.copy2()
Python的copy2()方法用于将源文件的内容复制到目标文件或目录。此方法与shutil.copy()相同 方法还保留文件的元数据。
Syntax:
shutil.copy2(src, dst)
Parameter:
- src : source directory
- dst : destination director
Returns: The destination directory path
除此之外,还合并了 Pathlib 模块以处理与不同操作系统相关的文件系统路径。 Pathlib 包中的 Path函数用于定义具体路径。
注意:在这种方法中,文件被复制到一个已经存在的文件夹中。
使用目录:
蟒蛇3
# importing required packages
from pathlib import Path
import shutil
# defining source and destination
# paths
src = 'source'
trg = 'destination'
files=os.listdir(src)
# iterating over all the files in
# the source directory
for fname in files:
# copying the files to the
# destination directory
shutil.copy2(os.path.join(src,fname), trg)
输出: