📌  相关文章
📜  使用Python将所有文件从一个目录复制到另一个目录

📅  最后修改于: 2022-05-13 01:55:14.918000             🧑  作者: Mango

使用Python将所有文件从一个目录复制到另一个目录

在本文中,我们将讨论如何使用Python将所有文件从一个目录复制到另一个目录。

这可以使用shutil模块来完成。该模块可在Python用于对目录中的文件和文件夹执行操作。 Shuutil 包有助于在目录之间访问、移动和删除文件。

方法一:使用shutil.copytree()

shutil.copytree()方法递归地将以源 (src) 为根的整个目录树复制到目标目录。它用于将文件从一个位置递归复制到另一个位置。目标不应是现有目录。它是在复制操作执行期间创建的。

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()相同 方法还保留文件的元数据。

除此之外,还合并了 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)

输出: