Python复制文件

256 阅读3分钟

Python Copy File

关于Python复制文件的介绍

Python复制文件功能是Python中的一个高级操作。它用于将文件从一个位置复制到另一个位置。在进行这个操作之前,我们需要导入os模块和shutil模块;没有这些模块,这个操作就无法完成。我们可以复制目录中的单个文件和多个文件。尽管这些函数是高级操作,但它们仍然不复制元数据、所有者信息、ACL,也不复制备用数据流。 源文件和目标文件的路径就像对象或字符串。

目的地文件路径名称应该是正确的,并符合复制功能的规则。例如,源文件路径和目的文件路径不应相同;否则,python将产生相同的文件错误。

语法

shutil.copyfile(src, dst, *, follow_symlinks=True)

  • src: 完整的源文件,并且应该是字符串格式。这个参数是强制性的。
  • dst: 目标文件路径,也应该是字符串格式,并且和源文件不一样。这个参数是强制性的。
  • follow_symlinks。 这是一个可选参数,默认值为 "true"。如果值为false并且是符号链接,那么文件将不会被复制;相反,将创建一个新的符号链接。

目标文件路径应该是可写的;如果该目录没有写入权限,那么python将返回OSError。这个函数不允许复制特殊文件,如管道、字符或块设备。

Python复制文件的例子

下面给出了Python复制文件的例子。

示例#1

代码。

import os import shutil shutil.copy('Python/original.txt', 'Python/duplicate.txt')

输出。

Python Copy File output 1

这是一个非常基本的shutil.copy函数的例子。我们已经导入了os和shutil库。在 shutil.copy 函数中,我们指定第一个参数为源文件,第二个参数为目标文件。在这种情况下,源文件和目标文件的文件夹是相同的,但文件名不同,这样它们就会被成功复制。

例子#2

代码。

import os import shutil dir = '/Users\Big Data Cluster\Documents\Python\Testing' Source = '/Users\Big Data Cluster\Documents\Python\Testing\Sample.txt' Destination = '/Users\Big Data Cluster\Documents\Python\Testing\Test.txt' print(os.listdir(dir)) shutil.copy(Source,Destination) print(os.listdir(dir))

输出。

Python Copy File output 2

在上面的程序中,我们已经导入了所需的库。我们在dir变量中指定了目录路径。我们在源变量中储存了源文件路径,在目的变量中储存了目的文件路径。最后,我们在shutil.copy函数中传递了源变量和目的变量。

我们使用os.listdir方法来列出目录中存在的所有文件。我们可以看到,在使用shutil.copy方法之前,目录中只有一个文件'Sample.txt',而在执行该函数之后,文件被复制并命名为'Test.txt'。

例子 #3

代码。

import os import shutil Source = '/Users\Big Data Cluster\Documents\Python\Testing\Sample.txt' Destination = '/Users\Big Data Cluster\Documents\Python\Testing\Test.txt' shutil.copy(Source,Destination)

输出。

output 3

在上面的例子中,我们创建了两个变量,源文件和目标文件的路径。但在这个例子中,你可以看到,我们在源文件和目标文件中都指定了相同的文件路径。在这种情况下,shutil.copy函数将返回相同的文件错误,你可以在上面的截图中看到。

总结

Python 提供了一个 shutil.copy 方法来将我们的文件从一个位置复制到另一个位置。这是一个非常简单和有用的处理文件的方法;唯一的缺点是,它没有复制文件的元数据信息。

推荐的文章

这是一个关于Python复制文件的指南。这里我们讨论了Python复制文件的例子,以及语法、代码和输出。你也可以看看下面的文章,以了解更多信息

  1. Python的用户输入
  2. Python的返回值
  3. Python中的最大函数
  4. Python变量范围

The postPython Copy Fileappeared first onEDUCBA.