Python 复制文件

Python 复制文件

在开发Python应用程序时,文件复制是常见的操作之一。Python提供了许多现成的函数和方式来复制文件。在这篇文章中,我们将介绍Python中复制文件的几种方法。

shutil.copy(src, dest)

Python中复制文件的一个最简单的方式是使用shutil库中的copy()方法。这个方法需要两个参数:源文件和目标文件路径。

下面是一个使用shutil.copy()方法复制文件的示例代码:

import shutil

src_file = '/home/user/file1.txt'
dst_dir = '/home/user/destination/'

shutil.copy(src_file, dst_dir)

在这里,我们把源文件file1.txt/home/user/目录下复制到了/home/user/destination/目录下。

os.system()

除了使用shutil.copy()方法外,我们还可以使用Python中的os.system()方法来复制文件。os.system()方法的工作方式与shell命令类似。下面是一个使用os.system()方法复制文件的示例代码:

import os

src_file = '/home/user/file1.txt'
dst_file = '/home/user/destination/file1.txt'

cmd = "cp " + src_file + " " + dst_file
os.system(cmd)

在这里,我们通过使用shell命令cp来复制文件。

subprocess.run()

subprocess.run()是Python中另一个方便的方法,可用于复制文件。这种方法允许我们在子进程中运行shell命令并获取其输出和返回代码。下面是使用subprocess.run()方法复制文件的示例代码:

import subprocess

src_file = '/home/user/file1.txt'
dst_file = '/home/user/destination/file1.txt'

cmd = ["cp", src_file, dst_file]
subprocess.run(cmd, check=True)

在这里,我们使用了subprocess.run()方法来运行cp shell命令。

shutil.copy2(src, dst)

另一个可用于复制文件的方法是shutil.copy2()。它类似于shutil.copy()方法,但它还将源文件的元数据(如所有者,权限等)复制到目标文件中。下面是一个使用shutil.copy2()方法复制文件的示例代码:

import shutil

src_file = '/home/user/file1.txt'
dst_dir = '/home/user/destination/'

shutil.copy2(src_file, dst_dir)

在这里,我们把源文件file1.txt/home/user/目录下复制到了/home/user/destination/目录下。

shutil.copytree(src, dst, symlinks=False, ignore=None)

最后,shutil还提供了一个可以用来复制整个目录的方法,shutil.copytree()。这个方法需要两个参数:源目录和目标目录路径。如果目标目录不存在,则会自动创建。symlinks参数用于设置是否复制目录符号链接。ignore参数用于设置哪些文件或目录应该被忽略。下面是一个使用shutil.copytree()方法复制目录的示例代码:

import shutil

src_dir = '/home/user/dir1/'
dst_dir = '/home/user/destination/'

shutil.copytree(src_dir, dst_dir)

在这里,我们将目录dir1/home/user/目录下复制到了/home/user/destination/目录下。

结论

在Python中复制文件是一个必备的基本操作。本文介绍了Python中几种最常用的复制文件的方法,包括shutil.copy()os.system()subprocess.run()shutil.copytree()shutil.copy2()。使用这些方法中的一个,你可以方便地将文件从一个位置复制到另一个位置。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程