Skip to content

Archives

  • 2022 január
  • 2021 december
  • 2021 november
  • 2021 október
  • 2021 szeptember

Categories

  • Nincs kategória
Trend RepositoryArticles and guides
Articles

Python Unzip File: Hogyan lehet egyetlen vagy több fájlt kibontani

On szeptember 24, 2021 by admin

A python ZipFile a zipfile modul egy osztálya a zip fájlok olvasására és írására. A ZIP egy olyan archív fájlformátum, amely támogatja a veszteségmentes adattömörítést.

Veszteségmentes tömörítés alatt azt értjük, hogy a tömörítési algoritmus lehetővé teszi az eredeti adatok teljes rekonstruálását a tömörített adatokból.

A ZIP-fájl egy vagy több tömörített fájlt tartalmazó egyetlen fájl, amely egyszerű módot kínál a nagy fájlok kisebbé tételére és a kapcsolódó fájlok együtt tartására.

  • Python unzip file
  • Szintaktika
  • Példa a Python unzipre
  • Kimenet
  • Extraháljuk az összes fájlt egy zip fájlból egy másik könyvtárba
  • Kimenet
  • Fájlok kivonása egy nagy zip fájlból a feltétel alapján
  • Következtetés
  • See Also

Python unzip file

A zip-fájlok Python segítségével történő feldolgozásához egy beépített python modult fogunk használni, amelynek neve zipfile. A Python zipfile moduljában a ZipFile osztály egy tagfüggvényt biztosít a ZIP-archívum teljes tartalmának kicsomagolásához.

A fájl kicsomagolásához Pythonban a ZipFile.extractall() metódust használjuk. Az extractall() metódus argumentumként egy elérési utat, members, pwd-t vesz fel, és az összes tartalmat kicsomagolja.

Szintaktika

ZipFile.extractall(path=None, members=None, pwd=None)

A következő paramétereket fogadja :

  1. path: az a hely, ahonnan a zip fájlt ki kell csomagolni; ha nincs megadva, akkor az aktuális könyvtárban lévő tartalmat csomagolja ki.
  2. members: a kicsomagolandó fájlok listája. Ha ez az argumentum nincs megadva, akkor a zip összes fájlját kicsomagolja.
  3. pwd:

Példa a Python unzipre

Tegyük fel, hogy az aktuális munkakönyvtáramban van egy Mail3.zip nevű zip fájl, amit a ZipFile segítségével akarok kicsomagolni.extractall() módszerrel.

Lássuk a következő kódot.

# app.pyfrom zipfile import ZipFilewith ZipFile('Mail3.zip', 'r') as zipObj: # Extract all the contents of zip file in current directory zipObj.extractall()

Kimenet

python3 app.py

Ez a programozó app.py fájljával megegyező könyvtárban lévő fájlokat fog kibontani.

A zip-ben lévő összes fájlt kibontja az aktuális könyvtárban. Ha azonos nevű fájlok már vannak a kicsomagolás helyén, akkor felülírja azokat a fájlokat.

A fájlok megnyitásához a Python with utasítást használtuk. A “Python with” biztosítja, hogy a nyitott fájlleírók automatikusan bezáródnak, miután a program végrehajtása elhagyja a with utasítás kontextusát.

Extraháljuk az összes fájlt egy zip fájlból egy másik könyvtárba

A zip fájlból az összes fájlt egy másik könyvtárba tudjuk kinyerni, ehhez az extractall() argumentumaként át kell adnunk a célhelyet. Az elérési út lehet relatív vagy abszolút.

Lássuk a következő kódot.

# app.pyfrom zipfile import ZipFilewith ZipFile('Mail3.zip', 'r') as zipObj: # Extract all the contents of zip file in different directory zipObj.extractall('temp') print('File is unzipped in temp folder') 

Itt egy ZipFile objektumot hozunk létre a ZipFile konstruktor meghívásával, amely elfogadja a zip fájl nevét és a mód paramétereket. A ZipFile objektumot READ módban hozzuk létre, és zipObj-nak nevezzük el.

A kimeneten. Ha a temp mappa nincs meg, akkor létrehozza ezt a mappát az aktuális Directoryban, és kicsomagolja a Mail3.zip fájl teljes tartalmát.

Kimenet

python3 app.pyFile is unzipped in temp folder

Fájlok kivonása egy nagy zip fájlból a feltétel alapján

Tegyük fel, hogy van egy hatalmas zip fájlunk, és szükségünk van néhány fájlra az archívum ezernyi fájljából. Az összes fájl kicsomagolása egy nagy zip fájlból percekig is eltarthat. De ha csak néhány archivált fájlra vagyunk kíváncsiak, akkor ahelyett, hogy az egész fájlt kicsomagolnánk, az egyes fájlokat is kivehetjük a zip fájlból.

A python ZipFile osztály biztosít egy tagfüggvényt, amellyel kivehetünk egy-egy fájlt a zip fájlból.

ZipFile.extract(member, path=None, pwd=None)

Lásd a következő kódot.

# app.pyfrom zipfile import ZipFilewith ZipFile('Mail3.zip', 'r') as zipObject: listOfFileNames = zipObject.namelist() for fileName in listOfFileNames: if fileName.endswith('.py'): # Extract a single file from zip zipObject.extract(fileName, 'temp_py') print('All the python files are extracted')

Ha a fájlnevek .py kiterjesztésűek, akkor a temp_py mappába fog kicsomagolni. Ellenkező esetben nem fogja kicsomagolni a fájlokat.

Következtetés

A fájlok kicsomagolása Pythonban nagyon egyszerű, mert a Python biztosítja a zipfile modult.

A zipfile modul rendelkezik az összes olyan funkcióval, amely a feltételek alapján egy vagy több fájl kicsomagolására szolgál.

Végezetül, a Python Unzip: Hogyan lehet egy vagy több fájlt kicsomagolni bemutatónak vége.

See Also

Python zip()

Python zip lista listákból

Python zip szótár

Python zip szótár

Python tuple-ek kibontása

Python lista adatkeretbe

Python lista szótárba

Vélemény, hozzászólás? Kilépés a válaszból

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Archívum

  • 2022 január
  • 2021 december
  • 2021 november
  • 2021 október
  • 2021 szeptember

Meta

  • Bejelentkezés
  • Bejegyzések hírcsatorna
  • Hozzászólások hírcsatorna
  • WordPress Magyarország
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress