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()
。使用这些方法中的一个,你可以方便地将文件从一个位置复制到另一个位置。