Файл копирования (Copy File) Python : руководство

Copy File Python Программирование и разработка

Copy File Python

Вам может потребоваться скопировать файл в нескольких программах. Представьте, что вы хотите создать для своей программы функцию регистрации, которая начинается с предопределённого набора текста. Вы можете создать копию существующего пустого файла журнала для каждого журнала, который хотите создать.

Библиотека Python shutil поставляется с рядом функций для копирования файлов. В этом руководстве, мы говорим о том, как использовать shutil.copy()и shutil.copy2()методы, чтобы скопировать файл, используя язык программирования Python. Давай начнём.

Файл копирования Python

Библиотека Python shutil, которая позволяет вам управлять файлами и каталогами, содержит методы для копирования файлов. copy()И copy2()методы широко используются, потому что они позволяют копировать разрешения, связанные с существующим файлом.

Разница между copy()и copy2()заключается в том, что первый не копирует метаданные, связанные с файлами (части информации о файле, например, кто создал файл), тогда как второй копирует эту информацию.

Давайте обсудим, как использовать каждый из этих двух методов.

Python shutil.copy ()

Давайте создадим программу, которая генерирует табели успеваемости для каждого ученика в школе. Для начала мы хотим создать файлы для каждого ученика в нашем классе. Файлы должны начинаться с:

—————————————————
bestprogrammer
—————————————————
START OF STUDENT TRANSCRIPT
—————————————————

Эта информация уже находится в файле с именем template.txt. Мы хотим скопировать этот шаблон, чтобы создать файл для каждого ученика в нашей школе. Для начала давайте импортируем библиотеку shutil, которую мы будем использовать для копирования наших файлов, а затем определим список студентов:

import shutil

students = [«Lucy», «Peter», «Chad»]

Мы собираемся перебрать этот список и создать пустую стенограмму для каждого студента:

for s in students:
shutil.copy(«/home/james/students/template.txt», «/home/james/students/data/{}.txt».format(s))
print(«{}.txt has been created for {}’s report card.».format(s, s))

Этот цикл проходит через каждого ученика в нашем списке. Мы копируем файл template.txt и вставляем его в / home / james / student / data / для каждого ученика. Файл для каждого студента имеет имя:

[Student name].txt

Значение [Имя ученика] представляет имя ученика.

Запустим нашу программу и посмотрим, что получится:

Lucy.txt has been created for Lucy’s report card.
Peter.txt has been created for Peter’s report card.
Chad.txt has been created for Chad’s report card.

Наш код отображает три сообщения, которые указывают на то, что табель успеваемости каждого студента был создан.

Если мы посмотрим на папку / home / james / student / data /, мы увидим три файла:

Lucy.txt has been created for Lucy’s report card.
Peter.txt has been created for Peter’s report card.
Chad.txt has been created for Chad’s report card.

Каждый файл содержит текст из нашего предыдущего шаблона.

Метод Python shutil.copy2 ()

В shutil.copy2()метод копирует файл из одного места в другое на вашей операционной системе. В отличие от этого метода, он shutil.copy()также копирует метаданные, связанные с файлом. shutil.copy2()использует тот же синтаксис, что и shutil.copy()метод.

Предположим, мы хотим создать сертификат прогресса для кого-то, кто играет в игру. Этот сертификат должен начинаться со следующего текста:

RPG: User score card
Produced by the RPG Python game

Этот текст уже есть в файле default_scorecard.txt. Мы можем скопировать файл default_scorecard.txt, используя copy2()метод из библиотеки shutil:

import shutil

shutil.copy(«/home/james/game/default_scorecard.txt». «/home/james/game/recent_scores.txt»)

print(«Your progress has been recorded in the recent_scores.txt file.»)

Мы импортируем библиотеку shutil, а затем используем этот shutil.copy2()метод для создания копии файла default_scorecard.txt. Затем мы выводим сообщение на консоль, информирующее нас о том, что исходный файл был скопирован в файл latest_scores.txt.

Другие методы

Вы можете также использовать copyfile()и copyfileobj()методы в shutil библиотеки.

Оба этих метода используют тот же синтаксис, что и два метода, которые мы обсуждали ранее:

shutil.copyfile(source, destination)
shutil.copyfileobj(source, destination)

Этот copyfile()метод позволяет копировать файл из одного места в другое. Вы также можете указать Python создать символическую ссылку между новым и старым файлом. Этот copyfileobj()метод позволяет скопировать файл и указать, как данные читаются по частям.

Читайте также:  10 лучших навыков DevOps-инженера

Вы можете узнать больше об этих методах, прочитав документацию Python shutil.

Вывод

Python shutil.copy()и shutil.copy2()методы позволяют копировать файл в другое место. Эти методы копируют разрешения, прикреплённые к существующему файлу. Вы также можете использовать методы copyfile()и copyfileobj()из библиотеки shutil для копирования файла.

Оцените статью
bestprogrammer.ru
Добавить комментарий