以下是演示“如安在Python中复制文件”的九种办法。
- shutil copyfile()办法
- shutil copy()办法
- shutil copyfileobj()办法
- shutil copy2()办法
- os popen办法
- os体系()办法
- Thread()办法
- 子过程调用()办法
- 子过程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’)应用它进行攫取或写入。
- 模式 –它可所以’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
1/2 1