Articles

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)