logo

Python | shutil.copyfile() method

Shutil module у Python допомагає автоматизувати процес копіювання та видалення файлів і довідники. Він входить до складу стандартних службових модулів Python.

Модуль Shutil (скорочення від shell utility) також надає багато функцій високорівневих операцій над файлами та колекціями файлів.



Що таке метод Shutil.copyfile()?

The shutil.copyfile() метод в Python використовується для копіювання вмісту вихідного файлу у файл призначення. Метадані файлу не копіюються. Джерело та адресат мають представляти файл, а місце призначення має бути доступним для запису. Якщо місце призначення вже існує, його буде замінено вихідним файлом, інакше буде створено новий файл.

Якщо джерело та адресат представляють той самий файл, то Виняток SameFileError буде підвищено.

shutil.copyfile() Синтаксис методу

shutil.copyfile(джерело, призначення, *, follow_symlinks = True)



Параметри:

  • джерело : Рядок, що представляє шлях до вихідного файлу.
  • призначення : Рядок, що представляє шлях до цільового файлу.
  • follow_symlinks (необов’язково) : значенням за замовчуванням цього параметра є True. Якщо False і джерело представляє символічне посилання, замість копіювання файлу буде створено нове символічне посилання.

Примітка: «*» у списку параметрів вказує на те, що всі наступні параметри (тут у нашому випадку «follow_symlinks») є параметрами лише для ключових слів і їх можна надати за допомогою їх імені, а не як позиційні параметри.

Повернення:

Цей метод повертає рядок, який представляє шлях до щойно створеного файлу.

Як скопіювати файл за допомогою методу Shutil.copyfile() у Python

Використовуючи метод shutil.copyfile(), ви можете легко скопіювати файл у новий файл. Щоб скористатися цим методом, просто потрібно вказати розташування вихідного файлу та розташування файлу призначення.



Розберемося краще на прикладі:

порівнянна java

Використання методу shutil.copyfile() для копіювання файлу з джерела до місця призначення

У цьому прикладі ми побачимо використання shutil.copyfile() для копіювання файлу з джерела до місця призначення за допомогою Python.

Python3




# Python program to explain shutil.copyfile() method> # importing os module> import> os> # importing shutil module> import> shutil> # path> path>=> '/home/User/Documents'> # List files and directories> # in '/home/User/Documents'> print>(>'Before copying file:'>)> print>(os.listdir(path))> # Source path> source>=> '/home/User/Documents/file.txt'> # Destination path> destination>=> '/home/User/Documents/file(copy).txt'> # Copy the content of> # source to destination> dest>=> shutil.copyfile(source, destination)> # List files and directories> # in '/home / User / Documents'> print>(>'After copying file:'>)> print>(os.listdir(path))> # Print path of newly> # created file> print>(>'Destination path:'>, dest)>

>

>

Вихід:

 Before copying file: ['hrithik.webp'ltr'>Тут ми бачимо можливі помилки під час використання методу shutil.copyfile(). Якщо джерело та адресат представляють той самий файл, виникне виняток «SameFileError». Якщо одержувачем є каталог, виникне виняток «IsADirectoryError». Якщо одержувач не доступний для запису, виникне виняток «PermissionError» Python3 # Програма Python для пояснення shutil .copyfile() method # importing shutil module import shutil # Шлях джерела = '/home/User/Documents/file.txt' # Шлях призначення = '/home/User/Documents/file.txt' # Скопіюйте вміст # джерела до місця призначення shutil.copyfile(джерело, призначення) Вихід: Traceback (останній останній виклик): файл 'copy.py', рядок 31, у shutil.copyfile(джерело, призначення) файл ' /usr/lib/python3.6/shutil.py', рядок 104, у файлі копіювання підвищити SameFileError('{!r} і {!r} є одним і тим самим файлом'.format(src, dst)) shutil. SameFileError: '/home/User/Documents/file.txt' і '/home/User/Documents/file.txt' — це той самий шлях призначення файлу: /home/User/Documents/file(copy). Обробка помилок txt Тут ми розглядаємо помилки обробки під час використання методу shutil.copyfile(). Python3 # Програма Python для пояснення методу shutil.copyfile() # імпорт модуля shutil import shutil # Шлях джерела джерело = '/home/User/Documents/file.txt' # Шлях призначення = '/home/User/Documents ' # Копіювати вміст # джерела до місця призначення try: shutil.copyfile(джерело, призначення) print('Файл скопійовано успішно.') # Якщо джерело та призначення однакові, крім shutil.SameFileError: print('Джерело та призначення представляє той самий файл.') # Якщо призначенням є каталог. крім IsADirectoryError: print('Призначенням є каталог.') # Якщо є будь-яка проблема з дозволом, крім PermissionError: print('Дозвіл заборонено.') # Для інших помилок, крім: print('Під час копіювання файлу сталася помилка .') Вихідні дані: місцем призначення є каталог. Ми розглянули метод копіювання файлу в Python за допомогою функції shutil.copyfile(). Це дуже простий у використанні спосіб, за допомогою якого можна скопіювати файл. Це дуже корисно, коли ви хочете створити дублікат файлу.   Читайте також: Як скопіювати файл у Python3?   Метод shutil.copy() Копіювати вміст одного файлу в інший файл Копіювати всі файли з одного каталогу до іншого за допомогою Python Як створити дублікат існуючого файлу за допомогою Python?>