Автор оригинала: Pankaj Kumar.
В наших предыдущих учебниках мы узнали некоторые операции Python File, такие как чтение, запись и удаление. Давайте научимся копировать файл в Python в этом руководстве.
Мы можем скопировать файл в Python, используя разные методы под указанными ниже модулями,
Шусил
модульОС
модульподпрокат
модуль
В этом руководстве мы собираемся учиться использовать различные методы, предоставленные вышеуказанными модулями для копирования файла в Python.
1. Модуль PULTIL для копирования файла в Python
Шусил
Модуль предоставляет несколько простых в использовании методы, используя, что мы можем Удалить а также Скопировать Файл в Python. Давайте посмотрим на различные методы, определенные в этом модуле, специально использованном для копирования.
1. copyfileobj ()
copyfileobj ()
Метод копирует содержимое исходного файла в целевой файл, используя свои соответствующие файловые объекты. Давайте посмотрим на код ниже,
import shutil src_file_obj=open('src.txt', 'rb') targ_file_obj= open('targ.txt' , 'wb') shutil.copyfileobj( src_file_obj , targ_file_obj )
Примечание: что файловые объекты должны указывать на 0 позиций (Начало позиции) как для соответствующих источников, так и для целевых файлов, чтобы скопировать весь контент.
2. copyfile ()
copyfile ()
Метод копирует содержание от Источник к целевому файлу с использованием путей файлов. Возвращает целевой путь к файлу. Путь целевого файла должен быть записан или иначе Осэррор Исключение произойдет.
import shutil shutil.copyfile( 'src.txt' , 'targ.txt' )
Имеется в виду, что метод позволяет использовать только файловые пути и не каталоги.
3. Скопируйте ()
Этот метод копирует исходный файл в целевой файл или целевой каталог. В отличие от copyfile ()
, метод Копировать ()
Позволяет использовать целевой каталог в качестве аргумента, а также копирует разрешения файлов. Копировать ()
Возвращает путь к целевому файлу после копирования содержимого.
import shutil shutil.copy('/Users/test/file.txt', '/Users/target/')
Файл с именем ‘file.txt’ Создан в целевом направлении со всеми контентом и разрешениями, скопированными из ‘/Users/test/file.txt’.
4. copy2 ()
copy2 ()
Метод используется точно так же, как и из Копировать ()
метод. Они также функционируют так же, кроме за то, что copy2 ()
также копирует Мета-данные из исходного файла.
import shutil shutil.copy2('/Users/test/file.txt', '/Users/target/')
2. Модуль ОС для копирования файла в Python
1. POPEN ()
Popen ()
Метод создает трубу к команде, CMD Отказ Метод возвращает файловый объект, подключенный к трубе CMD. Посмотрите на код ниже,
#for Windows import os os.popen('copy src.txt targ.txt' )
#for Linux import os os.popen('cp src.txt targ.txt' )
С помощью этого метода мы можем не только копировать файлы, но и выполнять другие регулярные команды.
2. Система ()
Система ()
Метод напрямую вызовы и выполняет аргумент команд в подпункте. Его возвращаемое значение зависит от ОС, которая запускает программу. Для Linux это статус выхода, в то время как для Windows это возвращаемое значение системной оболочкой.
#for Linux import os os.system(' cp src.txt targ.txt' )
#for Windows import os os.system(' copy src.txt targ.txt' )
3. Модуль подпроцесса Чтобы скопировать файл в Python
1. Вызов ()
Звоните ()
метод, похожий на OS.System ()
напрямую называет или запускает команду, передаваемую как аргумент к функции.
# In Linux import subprocess subprocess.call('cp source.txt target.txt', shell=True)
# In Windows import subprocess subprocess.call('copy source.txt target.txt', shell=True)