如何使用 Python 将文件从一个文件夹复制到另一个文件夹?
文件是存储在计算机上的信息或数据的集合。您已经熟悉几种文件类型,例如音频、视频和文本文件。
文本文件和二进制文件是我们经常将文件拆分成的两类。文本文件中包含简单文本,而二进制数据只能由计算机读取。
一组文件和子目录称为目录或文件夹。子目录是目录内的目录。许多操作系统功能都可以自动执行。
使用 Python 进行文件操作
Python 提供了各种方法来对底层操作系统的文件和文件夹执行操作。
Python 中的 OS 模块具有添加和删除文件夹、检索其内容、更改目录、定位当前目录等功能。导入此模块,我们将使用它的 listdir() 方法来获取文件。
同样,shutil 模块提供了许多用于处理文件和相关集合操作的功能。它为用户提供了复制和删除文件的选项。您可以使用此模块的 shutil.copy()、shutil.copy2() 和 shutil.copytree() 方法将一个文件夹的内容复制到另一个文件夹。
您可以通过导入各自的模块将这些函数包含在文件中,如下所示 -
import shutil shutil.submodule_name(arguments passed)
使用shutil.copy()操作
使用此函数将源文件的文本或内容复制到目标文件或目录中。此外,文件的权限模式会保留,但文件元数据(如"创建日期"、"修改日期"等)不会保留。
语法
以下是 shutil.copy() 方法的语法−
shutil.copy(origin, target)
其中,
Origin − 包含源文件位置或路径的字符串
Target − 包含目标文件位置或路径的字符串。
示例
以下是使用 shutil.copy() 操作将文件从一个文件夹复制到另一个文件夹的示例 −
# importing the modules import os import shutil # Providing the folder path origin = 'C:\Users\Lenovo\Downloads\Works' target = 'C:\Users\Lenovo\Downloads\Work TP' # Fetching the list of all the files files = os.listdir(origin) # Fetching all the files to directory for file_name in files: shutil.copy(origin+file_name, target+file_name) print("Files are copied successfully")
输出
以下是上述查询的输出:
Files are copied successfully
注意− 可以使用相对路径和绝对路径来复制文件。文件在磁盘上的位置由路径指示
查找文件所需的整个目录列表包含在绝对路径中。例如,查找 samples.txt 的绝对路径是 − C:\Users\Lenovo\Downloads\Works。
这里我们提供了文件的源和目标文件夹路径。
使用shutil.copy2() 操作
首先,此函数与copy()完全相同,不同之处在于它会跟踪源文件的元数据。
此函数的执行程序与shutil.copy()完全相同。唯一的区别是,在将文件提取到目录时,我们用shutil.copy2()代替shutil.copy()。
shutil.copy2(origin+file_name, target+file_name)
语法
以下是 shutil.copy2() 方法的语法 –
shutil.copy2(origin, target)
Origin 和 target 值与上面定义的相同。
此代码中的 copy2() 函数除了 copy() 之外还执行了一项附加操作,即保留元数据。
使用 shutter.copytree() 方法
此函数将文件及其包含的任何子目录从一个目录移动到另一个目录。
这表明源和目标都包含该文件。字符串必须包含两个参数的名称。
语法
以下是 shutil.copytree() 方法的语法 –
shutil.copytree(origin, target)
Origin 和 target 值与上面定义的相同。
示例
以下是使用 shutil.copytree() 操作将文件从一个文件夹复制到另一个文件夹的示例:
# importing the module import shutil # Fetching all the files to directory shutil.copytree('C:\Users\Lenovo\Downloads\Works','C:\Users\Lenovo\Downloads\Work TP\/newfolder') print("File Copied Successfully")
输出
以下是上述查询的输出:
File Copied Successfully
作为输出,我们将能够看到执行后所做的更改,即"Works"文件夹被复制到"Works TP"文件夹,其名称为"newfolder",如上述代码中指定的那样,其中包含 Works 文件夹中的所有文件。
为了获得该文件的副本,我们在此代码中包含了 copytree() 函数。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

