Изучение Python? Вот как скопировать файл

Изучение Python? Вот как скопировать файл

Вы хотите улучшить свои навыки Python? Затем вы можете попробовать выполнить некоторые задачи на своем компьютере с помощью Python. Копирование и вставка файлов из одного каталога в другой с помощью Python - интересный способ сделать это.





Это не только весело, но и позволяет быстро читать и записывать файлы, не отвлекаясь от кода. Если вы новичок в Python, вам все равно может понадобиться овладеть этим навыком. Итак, давайте узнаем, как копировать файлы с помощью Python через этот пост.





Требования для копирования файлов с помощью Python

Есть много способов копировать и вставлять файлы с помощью Python. Таким образом, требования к этому варьируются и зависят от метода, который вы решите использовать.





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

Например, если вы хотите использовать ты метод, вам необходимо импортировать его в свой код. Однако одним из популярных способов копирования файлов с помощью Python является использование shutil библиотека.



Давайте посмотрим, как мы можем использовать эти различные методы для копирования файлов с помощью Python.

Как копировать файлы с помощью встроенной библиотеки Python Shutil

В shutil module - это встроенная мощная библиотека Python для быстрого чтения и записи файлов в Python.





Чтобы использовать его, вам нужно только указать полный путь к исходному и целевому файлам.

Неожиданное исключение в хранилище кода остановки Windows

По сути, shutil принимает этот формат:





shutil.copy([source directory path], [destination directory path], follow_symlinks=True)

Например, в приведенном ниже коде используется shutil.copy() чтобы скопировать файл с именем copy.txt из папки с названием моя папка в другой названный место назначения . Затем он переименовывает конечный файл как newFile.txt :

import shutil
sourceFile = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFile = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copy(sourceFile, destinationFile, follow_symlinks=True)

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

Однако вы также можете использовать интегрированную среду разработки Python (IDLE) по умолчанию, если вы не знакомы с запуском Python через командную строку.

Связанный: Команды командной строки (CMD), которые вы должны знать

В shutil.copy не копирует метаданные исходного файла. По сути, ваша машина видит конечный файл как полностью новый и передает ему новые метаданные.

Однако, чтобы скопировать метаданные вместе с исходным файлом, используйте shutil.copy2 метод:

import shutil
shutil.copy2(sourceFile, destinationFile, follow_symlinks=True)

Вышеупомянутый метод сохраняет исходные метаданные старого файла в конечном файле. Например, конечный файл сохраняет дату создания исходного файла, его размер и другие атрибуты.

В follow_symlinks аргумент - это объявление символической ссылки, которое позволяет shutil следовать абсолютному пути. Поэтому вам необходимо включить его, если исходный и целевой файлы находятся в разных каталогах.

Но если оба файла находятся в вашем текущем рабочем каталоге, вам не нужно включать follow_symlinks . Если вы это сделаете, Python выдаст исключение синтаксиса.

как стать художником вебтунов

Итак, если вы вставляете исходный файл в текущий рабочий каталог, ваш код должен выглядеть так:

import shutil
shutil.copy2(sourceFile, destinationFile)

Помимо использования описанных выше методов shutil, вы также можете использовать shutil.copyfile или shutil.copyfileobj .

С использованием shutil.copyfileobj немного отличается, так как требует встроенного открытым функция. Затем вам нужно читать и записывать двоичный файл, включая 'rb' а также 'wb' аргументы.

Посмотрим, как shutil.copyfileobj метод работает с теми же каталогами, которые мы использовали ранее:

import shutil
sourceFilePath = open('C:/Users/some_directories/my_folder/copy.txt', 'rb')
destinationFilePath = open('C:/Users/some_directories/destination/newFile.txt', 'wb')
shutil.copyfileobj(sourceFilePath, destinationFilePath)

Обратите внимание, что shutil.copyfileobj() не требует follow_symlinks аргумент.

Тем не мение, shutil.copyfile() работает примерно так же .copy а также .copy2 делает. Они лишь незначительно отличаются по своим внутренним функциям.

Чтобы использовать shutil.copyfile() метод:

import shutil
sourceFilePath = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFilePath = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copyfile(sourceFilePath, destinationFilePath)

Как копировать файлы с помощью модуля os

В ты модуль использует два встроенных метода для копирования файлов; os.system () а также os.popen () методы.

В os.system () Метод позволяет имитировать среду командной строки.

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

Чтобы использовать os.system () метод в Windows:

import os
os.system('copy source.txt destination.txt)

Вы также можете использовать встроенный xcopy Команда терминала Windows:

import os
os.system('xcopy source.txt destination.txt)

Чтобы использовать os.system метод в Linux замените копировать с участием cp :

import os
os.system('cp source.txt destination.txt)

Как копировать файлы с помощью метода os.popen

Чтобы использовать этот метод, замените os.system () с участием os.popen () .

В Windows используйте:

import os
os.popen('copy source.txt destination.txt)

Как мы поступили с os.system () , заменять копировать с участием cp чтобы использовать этот метод в Linux:

import os
os.popen('cp source.txt destination.txt)

Как копировать файлы с помощью модуля подпроцесса Python

В дополнение к вышеуказанным методам вы также можете использовать подпроцесс () библиотека для копирования файлов на Python:

import subprocess as sp
sp.call('copy sourceFile destinationFile', shell=True)

Однако в Linux используйте:

import subprocess as sp
sp.call('cp sourceFile destinationFile', shell=True)

В подпроцесс библиотека также использует subprocess.check_out () метод. Работает так же subprocess.call () делает:

import subprocess as sp
sp.check_out('copy sourceFile destinationFile', shell=True)

В Linux замените копировать с участием cp :

import subprocess as sp
sp.check_out('cp sourceFile destinationFIle', shell=True)

Однако, как и методы ОС, методы подпроцесса работают только с файлами в вашем текущем рабочем каталоге.

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

Как копировать файлы в Python без использования библиотек

Вы также можете копировать файлы в Python независимо от какой-либо библиотеки. Как и в случае с методом shutil, вам нужны только полные пути к исходному и целевому каталогам.

как создать аккаунт в PayPal до 18 лет

Вот как этого добиться:

sourcePath = 'C:/Users/source_directories/my_folder/copy.txt'
destinationPath = 'C:/Users/some_directories/destination_directories/newFile.txt'
with open(sourcePath, 'rb') as read:
with open(destinationPath, 'wb') as myfile:
myfile.write(read.read())

Чтобы сделать код многоразовым, вы можете преобразовать его в функцию:

def copyFile(source=None, destination=None):
if not (source and destination)==None:
with open(source, 'rb') as read:
with open(destination, 'wb') as myfile:
myfile.write(read.read())
else:
print('Please enter the source and destination paths')
copyFile(sourcePath, destinationPath)

Вот и все. Вы только что сделали многоразовый копировальный аппарат с Python без использования какой-либо библиотеки.

Продолжайте автоматизировать задачи с помощью Python

Копирование файлов с помощью Python не только помогает сосредоточиться на коде при создании проектов, но и позволяет лучше понять управление файлами с помощью Python. Однако поиграться с задачами Python - это способ улучшить свои навыки Python, особенно если вы новичок.

Например, вы можете изменить дату и время на своем ПК с помощью модуля ОС. Вы даже можете писать собственные команды bash с помощью Python, если хотите.

Делиться Делиться Твитнуть Эл. адрес Как создавать собственные программы командной строки на Python с помощью щелчка

Хотите создавать свои собственные программы командной строки Python, но находите это слишком сложным? Используйте Click, полезный инструмент Python для оптимизации вашего кода.

Читать далее
Похожие темы
  • Программирование
  • Python
Об авторе Идису Омисола(Опубликовано 94 статей)

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

Ещё от Idowu Omisola

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться