Девять видов способов для копирования файлов Python

Ниже демонстрация « как копировать файлы в Python» из девяти видов методов .

  1. shutil CopyFile метод ()
  2. shutil копия () метод
  3. shutil copyfileobj метод ()
  4. shutil copy2()方法
  5. ОС POPEN метод
  6. Система ОС () метод
  7. Автор () метод
  8. По уходу за детьми звонки () метод
  9. Способ по уходу за детьми check_output метод ()

Девять видов способов для копирования файлов Python

Способ 1. Shutil CopyFile ()

Единственный способ копирования содержимого источника к месту назначения только тогда , когда цель записи. Если у вас нет разрешения на запись брошено IOError .

Он считывается путем открытия входного файла, игнорируя его тип файла. Далее, он не будет отличаться обработкой для специальных файлов, они не будут копировать новый специальный файл.

Указанное в CopyFile () метод с функцией нижнего уровня copyfileobj () ниже. Это имя файла в качестве аргумента, и они открытый дескриптор файла передается copyfileobj () . Этот метод имеет необязательный третий параметр, вы можете использовать , чтобы указать длину буфера. Он будет затем открыть файл , указанный в размере блока буфера чтения. Однако, по умолчанию является одноразовым читать весь файл.

Девять видов способов для копирования файлов Python
Если вы все еще путаются в мире программирования, вы можете присоединиться к нам , чтобы узнать Python пряжку Цюнь: 784758214, посмотрите на то, как пожилые люди учатся. Обмен опытом. Из основного веб - разработки питона сценария, рептилии, Джанго, интеллектуального анализа данных и других проектов по борьбе с нулевой на основе данных заканчиваем. Учитывая , чтобы каждый маленький питон партнера! Доля некоторых методов обучения и необходимо обратить внимание на мелкие детали, нажмите на Присоединяйтесь к нам питон сбор обучаемого

Следующие CopyFile () метод точки.

  • Он будет копировать содержимое источника в файл с именем цели.
  • Если адресат не доступен для записи, операция копирования приведет IOError исключения.
  • Если файлы источника и назначения совпадают, он возвращает SameFileError .
  • Однако, если адресат под другим именем ранее существовавший, копия перезапишет его содержимое.
  • Если адресат является каталогом, то это означает, что этот метод не будет скопирован в каталог, ошибка будет происходить 13.
  • Он не поддерживает копирования файлов, такие как символ или блок и трубопроводы.

Девять видов способов для копирования файлов Python

Способ 2. Shutil Копировать ()

Девять видов способов для копирования файлов Python

копия () функция аналогична методу «СР» в команде Unix. Это означает , что если адресат папку, где он будет создан исходный файл с таким же именем ( базовое имя нового файла). Кроме того, способ , чтобы скопировать его содержимое разрешения будут нацелены на исходные файлы , которые будут синхронизированы. Если вы хотите скопировать одни и те же файлы, он также может бросить SameFileError .

Девять видов способов для копирования файлов Python

Девять видов способов для копирования файлов Python

Способ 3. Shutil Copyfileobj ()

Этот метод копирует файл на целевом путь или файловый объект. Если целью является объектный файл, вам нужно вызвать copyfileobj () после явного закрытия. Предполагается , что необязательный параметр (размер буфера), вы можете использовать его , чтобы обеспечить длину буфера. Это число байтов , хранящихся в памяти во время репликации. Система использует размер по умолчанию 16Кб.

Девять видов способов для копирования файлов Python

4. Shutil Copy2()方法

Тем не менее, COPY2 () метод функция аналогична Copy () . Однако, в то же время , чтобы скопировать данные, вы можете также добавить время доступа и изменения раз в метаданных. Копирование и тот же файл может вызвать SameFileError .

Девять видов способов для копирования файлов Python

Для любопытного - разница между () CopyMode () и Copystat.

Девять видов способов для копирования файлов Python

5. Os Popen()方法

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

Девять видов способов для копирования файлов Python

  • 模式 –它可以是’r’(默认)或’w’。
  • bufsize –如果其值为0,则不会发生缓冲。如果设置为1,则在访问文件时将进行行缓冲。如果您提供的值大于1,则缓冲将以指定的缓冲区大小进行。但是,对于负值,系统将采用默认缓冲区大小。

对于Windows操作系统。

Девять видов способов для копирования файлов Python

对于Linux操作系统。

Девять видов способов для копирования файлов Python

6. Os System()方法

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

此方法返回命令的退出状态。

对于Windows操作系统。

Девять видов способов для копирования файлов Python

对于Linux操作系统。

Девять видов способов для копирования файлов Python

7.以Async方式使用线程库的Python文件复制

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

使用此方法时,请确保采用锁定以避免死锁。如果您的应用程序正在使用多个线程读取/写入文件,您可能会面对它。

Девять видов способов для копирования файлов Python

8.使用子进程的Call()方法在Python中复制一个文件

子进程模块提供了一个简单的界面来处理子进程。它使我们能够启动子进程,附加到其输入/输出/错误管道,并检索返回值。

子流程模块旨在替代传统模块和功能,如*os.system,os.spawn ,os.popen *,popen2。***。

它公开一个call()方法来调用系统命令来执行用户任务。

Девять видов способов для копирования файлов Python

9.使用子进程的Check_output()方法在Python中复制文件

Использование суб - процесс в check_output () метод, вы можете запустить внешнюю команду или программу и захватить добычу. Он также поддерживает трубопровод.

Девять видов способов для копирования файлов Python

рекомендация

отblog.51cto.com/14510224/2438067
рекомендация