Másolja a fájlt a Python
korábbi útmutatóinkban megtanultunk néhány Python fájlműveletet, például olvasást, írást és törlést. Tanuljunk meg egy fájlt Python-ban másolni ebben a bemutatóban.
Mi lehet másolni egy fájlt a Python különböző módszerekkel alatt a lent említett modulok,
-
shutil
modul -
os
modul -
subprocess
modul
ez A bemutató, meg fogjuk tanulni, segítségével a különböző módszerek által szolgáltatott a fenti modulok fájl másolása a Python.
1. shutil modul egy fájl másolásához Python
a shutil
modul néhány könnyen használható módszert kínál, amelyek segítségével eltávolíthatunk, valamint másolhatunk egy fájlt Python-ban. Nézzük meg a modul alatt meghatározott különböző módszereket, amelyeket kifejezetten a másoláshoz használnak.
1. copyfileobj ()
a copyfileobj()
módszer másolja a forrásfájl tartalmát a célfájlba a megfelelő fájlobjektumok segítségével. Vessünk egy pillantást az alábbi kódra,
import shutilsrc_file_obj=open('src.txt', 'rb')targ_file_obj= open('targ.txt' , 'wb')shutil.copyfileobj( src_file_obj , targ_file_obj )
megjegyzés: a fájlobjektumoknak mind a megfelelő forrás, mind a célfájlok 0 pozíciójára kell mutatniuk, hogy lemásolják a teljes tartalmat.
2. copyfile()
a copyfile()
módszer másolja a tartalmat a forrásból a célfájlba a fájl elérési útjaival. Visszaadja a célfájl elérési útját. A célfájl elérési útjának írhatónak kell lennie, különben OSerror kivétel lépne fel.
import shutilshutil.copyfile( 'src.txt' , 'targ.txt' )
szem előtt kell tartani, hogy a módszer csak fájlpályák használatát teszi lehetővé, nem pedig könyvtárakat.
3. másolás ()
Ez a módszer másolja a forrásfájlt a célfájlba vagy a célkönyvtárba. A copyfile()
– tól eltérően a copy()
módszer lehetővé teszi a Célkönyvtár argumentumként történő használatát, valamint másolja a fájl engedélyeit. copy()
visszaadja a célfájl elérési útját A tartalom másolása után.
import shutilshutil.copy('/Users/test/file.txt', '/Users/target/')
a fájl nevű fájl.a TXT ‘ a célállomáson jön létre, a ‘/Users/test/file-ból másolt összes tartalommal és jogosultsággal.txt’.
4. copy2 ()
acopy2()
módszert pontosan ugyanúgy használják, mint acopy()
módszert. Ugyanúgy működnek, kivéve azt a tényt, hogy acopy2()
másolja a meta-adatokat a forrásfájlból.
import shutilshutil.copy2('/Users/test/file.txt', '/Users/target/')
2. os modul fájl másolásához Python
1. popen ()
the popen()
method creates a pipe to the command, cmd. A módszer visszaadja a cmd csőhöz csatlakoztatott fájlobjektumot. Vessen egy pillantást az alábbi kódra,
#for Windowsimport osos.popen('copy src.txt targ.txt' )
#for Linuximport osos.popen('cp src.txt targ.txt' )
ezzel a módszerrel nem csak fájlokat másolhatunk, hanem más rendszeres parancsokat is végrehajthatunk.
2. rendszer ()
asystem()
metódus közvetlenül felhívja és végrehajtja a parancs argumentumot egy alhéjban. Visszatérési értéke a programot futtató operációs rendszertől függ. A Linux esetében ez a kilépési állapot, míg a Windows esetében a rendszerhéj visszatérési értéke.
#for Linuximport osos.system(' cp src.txt targ.txt' )
#for Windowsimport osos.system(' copy src.txt targ.txt' )
3. alfolyamat modul egy fájl másolásához Python
1. hívás ()
a call()
a os.system()
– hez hasonló módszer közvetlenül felhívja vagy futtatja a függvény argumentumaként átadott parancsot.
# In Linuximport subprocesssubprocess.call('cp source.txt target.txt', shell=True)
Leave a Reply