Изучаване на Python? Ето как да копирате файл

Изучаване на Python? Ето как да копирате файл

Искате ли да подобрите уменията си в Python? След това можете да опитате да изпълните някои задачи на вашия компютър с Python. Копирането и поставянето на файлове от една директория в друга с Python е забавен начин да направите това.





Освен че е забавно, ви позволява бързо да четете и пишете файлове, без да се разсейвате от кода си. Ако сте нов в Python, това е умение, което все още може да се наложи да придобиете по един или друг начин. Така че, нека да разберем как да копирате файлове с Python чрез тази публикация.





Изисквания за копиране на файлове с Python

Има много начини за копиране и поставяне на файлове с Python. Така че изискването за това е различно и зависи от метода, който решите да използвате.





Въпреки че може да не се нуждаете от допълнителни модули за копиране на файлове с Python, все пак можете да използвате вградени библиотеки, ако искате.

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



Нека да видим как можем да използваме тези различни методи за копиране на файлове с Python.

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

The шутил module е вградена и мощна библиотека на Python за бързо четене и писане на файлове в Python.





За да го използвате, трябва само да предоставите пълния път на изходния и целевия файл.

как да получите надписи в tiktok

По същество, шутил приема този формат:





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

Например, кодът по -долу използва shutil.copy () за да копирате файл с име copy.txt от папка, наречена my_folder в друг на име дестинация . След това преименува целевия файл като 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), които трябва да знаете

The shutil.copy метод не копира метаданните на изходния файл. По същество вашата машина вижда целевия файл като нов изцяло и му дава нови метаданни.

За да копирате метаданните заедно с оригиналния файл, използвайте shutil.copy2 метод:

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

Горният метод запазва оригиналните метаданни на стария файл в целевия файл. Например целевият файл запазва датата, на която сте създали изходния файл, неговия размер и други атрибути.

The follow_symlinks аргументът е символична декларация на връзка, която позволява шутил следвайте абсолютен път. Следователно трябва да го включите, ако изходният и целевият файл са в различни директории.

Но ако и двата файла са в текущата ви работна директория, не е нужно да включвате a follow_symlinks . Ако го направите, Python повдига изключение за синтаксис.

можете ли да споделите play ps5 до ps4

Така че, ако поставяте изходния файл в текущата си работна директория, кодът ви трябва да изглежда така:

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 () работи почти по същия начин .копие и .копиране2 прави. Те се различават само незначително по своите вътрешни функции.

За да използвате 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 модула

The Вие модулът използва два вградени метода за копиране на файлове; os.system () и os.popen () методи.

The os.system () метод ви позволява да имитирате средата на командния ред.

Недостатък на методите os обаче е, че те копират само файлове в текущата ви работна директория.

За да използвате 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)

The подпроцес библиотеката също използва 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)

Въпреки това, подобно на методите os, методите на подпроцесите работят само с файлове в текущата ви работна директория.

Забележка: Можете също да копирате файлове в папка, ако тя е в същата работна директория като изходния файл. Всичко, което трябва да направите, е да замените името на целевия файл с името на целевата папка. Уверете се обаче, че папката местоназначение и изходният файл са в текущата ви работна директория.

Как да копирате файлове в Python без използване на библиотеки

Можете също да копирате файлове в Python, без да зависите от библиотека. Подобно на метода shutil, имате нужда само от пълните пътища на директориите източник и дестинация.

мултиплейър игри за iphone и android

Ето как да постигнете това:

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, особено ако сте начинаещ.

Например, можете да промените датата и часа на вашия компютър с os модула. Можете дори да пишете персонализирани bash команди с Python, ако искате.

Дял Дял Туит електронна поща Как да създадете свои собствени програми за командния ред в Python с щракване

Искате ли да създадете свои собствени програми на командния ред на Python, но ви се струва твърде трудно? Използвайте Click, полезен инструмент на Python, за да рационализирате кода си.

Прочетете Напред
Свързани теми
  • Програмиране
  • Python
За автора Идису Омисола(94 статии са публикувани)

Idowu е страстен за всичко умно технология и производителност. В свободното си време той играе с кодиране и превключва на шахматната дъска, когато му е скучно, но също така обича да се откъсва от рутината от време на време. Страстта му да показва на хората пътя около съвременните технологии го мотивира да пише повече.

Още от Idowu Omisola

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате