Python tanulása? Íme, hogyan másolhat egy fájlt

Python tanulása? Íme, hogyan másolhat egy fájlt

Szeretnéd fejleszteni Python készségedet? Ezután megpróbálhat néhány feladatot elvégezni a számítógépén a Python segítségével. Fájlok másolása és beillesztése egyik könyvtárból a másikba a Python segítségével szórakoztató módja ennek.





Amellett, hogy szórakoztató, lehetővé teszi a fájlok gyors olvasását és írását anélkül, hogy elvonná figyelmét a kódtól. Ha új vagy a Pythonban, akkor ez egy olyan készség, amelyet még így vagy úgy kell felvenned. Tehát nézzük meg, hogyan másolhatunk fájlokat Python segítségével ezen a bejegyzésen keresztül.





Fájlok Python használatával történő másolásának követelményei

Sokféleképpen másolhat és illeszthet be fájlokat Python segítségével. Tehát a végrehajtás követelménye változó, és attól függ, hogy milyen módszert választ.





Bár lehet, hogy nincs szüksége extra modulokra a fájlok Python segítségével történő másolásához, továbbra is használhatja a beépített könyvtárakat.

Például, ha használni szeretné a te metódust, importálnia kell a kódjába. Azonban a fájlok Python segítségével történő másolásának egyik népszerű módja a bezár könyvtár.



Lássuk, hogyan használhatjuk ezeket a különféle módszereket fájlok másolására Python segítségével.

Fájlok másolása a Python beépített Shutil könyvtárával

Az bezár modul egy beépített és hatékony Python könyvtár a fájlok gyors olvasásához és írásához a Pythonban.





Használatához csak a forrás- és a célfájlok teljes elérési útját kell megadnia.

hogyan tudom megváltoztatni az alapértelmezett Google -fiókomat a chrome -ban

Összefoglalva, bezár ezt a formátumot veszi fel:





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

Például az alábbi kód használja shutil.copy () nevű fájlt másolni copy.txt nevű mappából mappám egy másik nevűbe rendeltetési hely . Ezután átnevezi a célfájlt 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)

Ne feledje, hogy a kódot tetszőleges kódszerkesztőbe írhatja. Ezután futtathatja a parancssor használatával.

Használhatja azonban az alapértelmezett Python integrált fejlesztői környezetet (IDLE) is, ha nem ismeri a Python futtatását a parancssoron keresztül.

Összefüggő: Parancssor (CMD) parancsok, amelyeket tudnia kell

Az shutil.példány metódus nem másolja a forrásfájl metaadatait. Lényegében a gép teljesen újnak tekinti a célfájlt, és új metaadatokat ad neki.

A metaadatok másolásához azonban az eredeti fájllal együtt használja a shutil.példány2 módszer:

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

A fenti módszer megőrzi a régi fájl eredeti metaadatait a célfájlban. Például a célfájl megőrzi a forrásfájl létrehozásának dátumát, méretét és egyéb attribútumait.

Az follow_symlinks argumentum egy szimbolikus link deklaráció, amely lehetővé teszi bezár abszolút utat követni. Ezért akkor kell feltüntetnie, ha a forrás- és célfájlok különböző könyvtárakban vannak.

De ha mindkét fájl az aktuális munkakönyvtárban van, akkor nem kell a follow_symlinks . Ha igen, a Python szintaktikai kivételt hoz létre.

a Windows 10 letöltődik, de nem települ

Tehát, ha beilleszti a forrásfájlt az aktuális munkakönyvtárba, a kódnak így kell kinéznie:

import shutil
shutil.copy2(sourceFile, destinationFile)

A fenti zárási módszerek használata mellett a következőket is használhatja shutil.copyfile vagy shutil.copyfileobj .

Használata shutil.copyfileobj Ez egy kicsit más, mivel megköveteli a beépítettet nyisd ki funkció. Ezután binárisan kell olvasnia és írnia a 'rb' és 'wb' érvek.

Lássuk, hogyan shutil.copyfileobj A módszer ugyanazokkal a könyvtárakkal működik, mint korábban:

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)

Vegye figyelembe, hogy shutil.copyfileobj () nem igényli a follow_symlinks érv.

Azonban, shutil.copyfile () nagyjából ugyanúgy működik .másolat és .másolat2 csinál. Belső funkcióikban csak jelentéktelenül különböznek egymástól.

A használatához shutil.copyfile () módszer:

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

Fájlok másolása az os modullal

Az te modul két beépített módszert használ a fájlok másolására; os.system () és os.popen () mód.

Az os.system () metódus lehetővé teszi a parancssori környezet utánzását.

Az os módszerek hiányossága azonban az, hogy csak az aktuális munkakönyvtárban lévő fájlokat másolják.

A használatához os.system () módszer Windows rendszeren:

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

Használhatja a beépítettet is xcopy Windows terminál parancs:

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

A használatához os.system módszer Linuxon, cserélje ki másolat val vel cp :

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

Fájlok másolása az os.popen módszerrel

Ennek a módszernek a használatához cserélje ki os.system () val vel os.popen () .

Windows rendszeren használja:

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

Ahogy mi tettük os.system () , cserélje ki másolat val vel cp hogy ezt a módszert Linuxon használja:

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

Fájlok másolása a Python alfolyamat moduljával

A fenti módszereken kívül a alfolyamat () könyvtár fájlok másolásához Pythonban:

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

Linux alatt azonban használja:

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

Az alfolyamat könyvtár is használja subprocess.check_out () módszer. Ez ugyanúgy működik subprocess.call () csinál:

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

Linux esetén cserélje ki másolat val vel cp :

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

Azonban az OS metódusokhoz hasonlóan az alfolyamatok is csak az aktuális munkakönyvtárban található fájlokkal működnek.

Jegyzet: Másolhat fájlokat egy mappába is, ha az ugyanabban a munkakönyvtárban található, mint a forrásfájl. Mindössze annyit kell tennie, hogy lecseréli a célfájl nevét a célmappa nevére. Ellenőrizze azonban, hogy a célmappa és a forrásfájl az aktuális munkakönyvtárban van.

Fájlok másolása Pythonban könyvtárak használata nélkül

A Pythonban fájlokat is másolhat anélkül, hogy bármilyen könyvtáratól függne. A bezárási módszerhez hasonlóan csak a forrás- és célkönyvtárak teljes elérési útjára van szüksége.

hogyan kell nézni a korhatáros youtube -ot

Ezt a következőképpen teheti meg:

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())

Annak érdekében, hogy a kódot újrafelhasználhatóvá tegye, módosíthatja funkcióvá:

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)

Ez az. Most készített egy újrafelhasználható fájlmásolót a Python segítségével könyvtár használata nélkül.

A feladatok automatizálása a Python segítségével

Amellett, hogy segít a projektek építése közben a kódra összpontosítani, a fájlok Python segítségével történő másolása révén jobban megértheti a fájlkezelést a Python segítségével. A Python -feladatokkal való játék azonban javítja a Python -készségeket, különösen akkor, ha kezdő vagy.

Például megváltoztathatja a számítógépen a dátumot és az időt az os modullal. Ha akarja, akár egyéni bash parancsokat is írhat a Python segítségével.

Részvény Részvény Csipog Email Hogyan hozhat létre saját parancssori programokat a Pythonban a kattintással

Szeretne saját Python parancssori programokat készíteni, de túl nehéznek találja? Használja a Click programot, amely hasznos Python eszköz a kód egyszerűsítéséhez.

Olvassa tovább
Kapcsolódó témák
  • Programozás
  • Piton
A szerzőről Idisou Omisola(94 cikk megjelent)

Idowu szenvedélyes minden intelligens technológia és termelékenység iránt. Szabadidejében kódolással játszik, és ha unatkozik, sakktáblára vált, de szeret időnként elszakadni a rutintól. Szenvedélye, hogy megmutassa az embereknek a modern technológia körüljárását, motiválja őt, hogy írjon többet.

Továbbiak Idowu Omisola -tól

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, véleményeket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide