作家
登录

用Python复制文件的九种方法

作者: 来源: 2017-11-03 11:15:18 阅读 我要评论


以下是演示“如安在Python中复制文件”的九种办法。

  1. shutil copyfile()办法
  2. shutil copy()办法
  3. shutil copyfileobj()办法
  4. shutil copy2()办法
  5. os popen办法
  6. os体系()办法
  7. Thread()办法
  8. 子过程调用()办法
  9. 子过程check_output()办法 

1. Shutil Copyfile()办法

它经由过程打开输入文件进行浏览,忽视其文件类型。接下来,它不会对特别文件进行任何不合的处理,也不会将它们复制为新的特别文件。

所述的CopyFile()办法应用较初级其余功能的copyfileobj()的下方。它将文件名称作为参数,打开它们并将文件句柄传递给copyfileobj()。该办法中有一个可选的第三个参数,您可以应用它来指定缓冲区长度。然后它将打开文件以攫取指定缓冲区大年夜小的块。然则,默认行动是一次性攫取全部文件。

以下是有关copyfile()办法的要点。

  • 它将源的内容复制到名为目标的文件。
  • 如不雅目标地弗成写,则复制操作将导致IOError异常。
  • 如不雅源文件和目标文件都雷同,它将返回SameFileError。
  • 然则,如不雅目标地以不合的名称预先存在,则副本将覆盖其内容。
  • 如不雅目标地是目次,则意味着此办法将不会复制到目次,将会产生缺点13。
  • 它不支撑复制文件,如字符或块设备和管道。 

2. Shutil Copy()办法

copy()办法的功能类似于“CP”在Unix敕令。这意味着如不雅目标是一个文件夹,那么它将在个中创建一个与源文件雷同的名称(basename)的新文件。此外,该办法将复制其内容后将目标文件的权限与源进行同步。 如不雅要复制雷同的文件,它也会抛出SameFileError。

3. Shutil Copyfileobj()办法

4. Shutil Copy2()办法

然则,copy2()办法的功能类似于copy()。然则,在复制数据的同时,也可以在元数据中添加拜访和修改时光。复制同一个文件会导致SameFileError。

对于好奇 – Copymode()与Copystat()之间的差别。

5. Os Popen()办法

该办法创建一个指向或来自该敕令的管道。它返回一个连接到管道的打开的文件对象。您可以根据文件打开模式(即’r’(默认)或’w’)应用它进行攫取或写入。

用Python复制文件的九种办法

  • 模式 –它可所以’r’(默认)或’w’。
  • bufsize –如不雅其值为0,则不会产生缓冲。如不雅设置为1,则在拜访文件时将进行行缓冲。如不雅您供给的值大年夜于1,则缓冲将以指定的缓冲区大年夜小进行。然则,对于负值,体系将采取默认缓冲区大年夜小。

对于Windows操作体系。

对于Linux操作体系。

6. Os System()办法

它是运行任何体系敕令的最常见方法。应用system()办法,可以在subshell中调用任何敕令。在内部,这种办法会调用标准的C库函数。

此办法返回敕令的退出状况。

对于Windows操作体系。

对于Linux操作体系。

7.以Async方法应用线程库的Python文件复制

如不雅要以异步方法复制文件,请应用以下办法。在这里,我们应用Python的线程模块在后台运行复制操作。


  推荐阅读

  11 月全球数据库排名:PostgreSQL保持上升趋势 一路高涨

DB-Engines 宣布了 2017 年 11 月份的数据库排名。排前 20 名的数据库中,仅排名在第 15 位的 Splunk 和第 16 位的 HBase ,地位出现了互调,其他数据库排名未变。PostgreSQL 近年来一向保持上升趋势,>>>详细阅读


本文标题:用Python复制文件的九种方法

地址:http://www.17bianji.com/lsqh/38448.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)