Fejleszteni szeretné a Python készségét? Ezután megpróbálhat végrehajtani néhány feladatot a számítógépén a Python segítségével. A fájlok másolása és beillesztése az egyik könyvtárból a másikba a Python segítségével szórakoztató módszer erre.
Amellett, hogy szórakoztató, lehetővé teszi fájlok gyors olvasását és írását anélkül, hogy elvonná a figyelmét a kódtól. Ha még nem ismeri a Python alkalmazottait, akkor ez egy olyan képesség, amelyre még mindig szüksége lehet, hogy így vagy úgy felvegye. Tehát megtudhatjuk, hogyan lehet fájlokat másolni a Python segítségével ezen a poszton keresztül.
A fájlok Python használatával történő másolásának követelményei
A fájlok Python segítségével sokféleképpen másolhatók és illeszthetők be. Tehát a végrehajtás követelménye változó, és attól függ, hogy melyik módszert választja.
Lehet, hogy a fájlok Python-val történő másolásához nincs szükség további modulokra, de ha szükséges, akkor is használhat beépített könyvtárakat.
Például, ha a os módszerrel, importálnia kell a kódjába. A fájlok Python másolásának egyik legnépszerűbb módja azonban a
shutil könyvtár.Nézzük meg, hogyan használhatjuk ezeket a különféle módszereket a fájlok Python segítségével történő másolásához.
Fájlok másolása a Python beépített Shutil könyvtárának használatával
A shutil modul egy beépített és nagy teljesítményű 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 célfájlok teljes elérési útját kell megadnia.
Összefoglalva, shutil ezt a formátumot veszi fel:
shutil.copy ([forráskönyvtár útvonala], [célkönyvtár útvonala], follow_symlinks = True)
Például az alábbi kód használja shutil.copy () nevű fájl másolásához copy.txt nevű mappából my_folder 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 beírhatja a kódot tetszőleges kódszerkesztő. Ezután a parancssor segítségével futtathatja.
Használhatja azonban az alapértelmezett Python Integrated Development Environment (IDLE) szolgáltatást is, ha még nem ismeri a Python parancssoron keresztül történő futtatását.
Összefüggő: Parancssor (CMD) parancsok, amelyeket ismernie kell
A shutil.másolat metódus nem másolja a forrásfájl metaadatait. Lényegében a gép teljesen újként látja a célfájlt, és új metaadatokat ad neki.
A metaadatok másolásához azonban az eredeti fájlhoz használja a shutil.másolat2 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.
A follow_symlinks argumentum egy szimbolikus link deklaráció, amely lehetővé teszi shutil abszolút utat követni. Ezért hozzá kell adnia, ha a forrás- és a célfájlok különböző könyvtárakban vannak.
De ha mindkét fájl az aktuális munkakönyvtárban található, akkor nem kell feltüntetnie a follow_symlinks. Ha mégis megteszi, a Python szintaktikai kivételt vet fel.
Tehát, ha beilleszti a forrásfájlt a jelenlegi munkakönyvtárába, akkor a kódjának így kell kinéznie:
import shutil
shutil.copy2 (forrásFájl, célFájl)
A fenti shutil módszerek mellett a következőket is használhatja shutil.másolatfájl vagy shutil.copyfileobj.
Használata shutil.copyfileobj egy kicsit más, mivel a beépítettet igényli nyisd ki funkció. Ezután el kell olvasnia és binárisan írni 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 () ugyanúgy működik .másolat és .másolat2 csinál. Csak jelentéktelen mértékben különböznek belső funkcióikban.
A 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
A os modul két beépített módszert használ a fájlok másolásához; os.system () és os.popen () mód.
A os.system () A módszer 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árba másolnak fájlokat.
A os.system () módszer Windows rendszeren:
import os
os.system ('copy.txt cél.txt másolása)
Használhatja a beépítettet is xcopy Windows terminál parancs:
import os
os.system ('xcopy source.txt cél.txt)
A os.rendszer módszer Linux alatt, cserélje le másolat val vel cp:
import os
os.system ('cp forrás.txt cél.txt)
Fájlok másolása az os.popen módszerrel
A módszer használatához cserélje ki os.system () val vel os.popen ().
Windows rendszeren használja:
import os
os.popen ('copy.txt cél.txt másolása)
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 forrás.txt cél.txt)
Fájlok másolása a Python alfolyamat moduljával
A fenti módszerek mellett használhatja a alfolyamat () könyvtár fájlok másolásához a Pythonban:
import alfolyamat mint sp
sp.call ("copy sourceFile destinationFile", shell = True)
Linuxon azonban használja:
import alfolyamat mint sp
sp.call ("cp sourceFile destinationFile", shell = True)
A alfolyamat könyvtár is használja subprocess.check_out () módszer. Ugyanúgy működik alfolyamat.hívás () csinál:
import alfolyamat mint sp
sp.check_out ("copyFile destinationFile másolása", shell = True)
Linux rendszeren cserélje le másolat val vel cp:
import alfolyamat mint sp
sp.check_out ("cp sourceFile destinationFIle", shell = True)
Azonban az os metódusokhoz hasonlóan az alfolyamatos módszerek is csak a jelenlegi munkakönyvtárban található fájlokkal működnek.
Jegyzet: A fájlokat átmásolhatja egy mappába is, ha ugyanabban a munkakönyvtárban van, mint a forrásfájl. Csak 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 található-e.
Fájlok másolása Python-ba könyvtárak használata nélkül
Fájlokat másolhat a Python-ban könyvtár függvényében is. A shutil módszerhez hasonlóan csak a forrás- és a célkönyvtár teljes elérési útjára van szükség.
Így érheted el ezt:
sourcePath = "C: /Users/source_directories/my_folder/copy.txt"
destinationPath = "C: /Users/some_directories/destination_directories/newFile.txt"
az open (sourcePath, "rb") szöveggel:
nyitott (destinationPath, "wb") fájlként:
myfile.write (read.read ())
Nak nek tegye a kódot újrafelhasználhatóvá, módosíthatja egy függvénygé:
def copyFile (forrás = Nincs, cél = Nincs):
ha nem (forrás és cél) == Nincs:
nyílt (forrás, "rb") olvasattal:
nyitott (cél, "wb") fájlként:
myfile.write (read.read ())
más:
nyomtatás ("Kérjük, adja meg a forrás és cél útvonalakat")
copyFile (sourcePath, destinationPath)
Ez az. Most készítettél újrafelhasználható fájlmásolót a Python-nal, könyvtár használata nélkül.
Automatizálja a feladatokat a Python segítségével
Amellett, hogy a fájlok másolása a projektek építése közben segít a projektek összpontosításában, jobban megérteni a fájlkezelést a Python segítségével. A Python-feladatokkal való játék azonban javíthatja a Python-készségét, különösen akkor, ha Ön kezdő.
Például megváltoztathatja a dátumot és az időt a számítógépén az os modullal. Akár egyéni bash parancsokat is írhat a Pythonnal, ha akarja.
Saját Python parancssori programokat szeretne készíteni, de túl nehéznek találja? Használja a Click, egy hasznos Python eszközt a kód egyszerűsítéséhez.
- Programozás
- Piton
Idowu minden okos technológiával és termelékenységgel rajong. Szabadidejében kódolással játszik, és ha unatkozik, átvált a sakktáblára, de imád egyszer-egyszer elszakadni a rutintól. Az a szenvedély, hogy megmutatja az embereknek a modern technológiát, további írásra ösztönzi.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!
Még egy lépés…!
Kérjük, erősítse meg e-mail címét az imént elküldött e-mailben.