Python COPY 文件和目录使用shutil
经常开发一个程序,我们需要对系统的文件和目录进行操作。 假设我们要复制系统中不同驱动程序或文件夹周围的文件和目录。
我们可以使用命令提示符(在 Windows 中)或终端(在 macOS 和 Linux 上)将文件从一个位置复制到另一个位置,但是如果我们想构建一个可以为我们执行此操作的 Python 程序怎么办! 幸运的是,Python 自带了一个叫做 Shutil 的标准模块,它可以帮助我们实现这个目标。
Blog link:- python copy file
如何在 Python 中复制文件 (shutil.copy())?
假设您在位置 x 有一个文件,并且您希望使用 Python 将该文件复制到 y 位置。 在这里,您可以使用 Python 的 shutil.copy() 方法。
Python shutil.copy() 语法:
Shutil.copy(来源,目的地)
参数:
source 参数表示您的文件或要复制的文件的源位置,它必须是字符串数据类型。
目标参数表示文件应复制到的目标目录,它也应该是字符串数据类型。
Shutil.copy() 方法仅复制源文件并将其粘贴到目标文件夹或目录中。
尽管 Python shutil.copy() 方法会将源文件的内容复制到目标文件夹,但它不会复制文件的元数据。 这意味着元数据——比如文件的创建日期和时间——将不相似。
shutil.copy() 的返回值
Shutil.copy() 方法以字符串格式返回复制文件的位置。
在 Python 中复制文件的 Python 程序

我们希望将 demo.txt 文件复制到 D:\example2folder。

#Python 程序
source = r"C:\Users\tsmehra\dev\example\demo.txt"
destination = r"D:\example2"
print("The demo.txt has copied at:")
print(shutil.copy(source, destination))
输出
D:\example2\demo.txt
现在检查 D:\example2\ 文件夹或目录

这里可以看到C:\Users\tsmehra\dev\example\的demo.txtfile和D:\example2\的demo.txtfile有两个不同的修改时间。 这是因为 copy() 方法只复制内容和文件,而不是元数据。
如果您重新运行上述程序,shutil.copy() 方法将覆盖该文件。
<注意>:始终使用原始字符串使用 r”” 作为源和目标的前缀,以防止 Python 转义字符。
结论
在本 Python 教程中,我们学习了如何编写 Python 程序来复制文件、其元数据和整个目录。
