Module shutil, python 3 kezdőknek és bábuknak
A shutil modul magas szintű funkciókat tartalmaz a fájlok, fájlcsoportok és mappák feldolgozásához. Különösen az itt elérhető funkciók lehetővé teszik a fájlok és mappák másolását, mozgatását és törlését. Gyakran együtt használják az os modullal együtt.
Fájlok és könyvtárak műveletei
Ebben az esetben, ha a mutató helyzetben fsrc nem 0 (azaz, amíg ez megtörtént valami hasonló fsrc.read (47)), a tartalom lesz másolva a jelenlegi helyzetben, hanem a fájl elejétől.
Ha az src és a dst ugyanaz a fájl, a kivétel shutil.SameFileError.
Ha a dst létezik, felülíródik.
A dst könyvtár nem létezhet. Létrehozásra kerül a hiányzó szülő könyvtárakkal együtt.
Ha hamis (alapértelmezés szerint), a hivatkozott fájlok tartalma és metaadatai másolódnak.
Beállíthatja a flag ignore_dangling_symlinks = True értéket. a hiba elrejtése.
shutil.rmtree (elérési út, ignore_errors = False, onerror = Nincs) - Törli az aktuális könyvtárat és az összes alkönyvtárat; az útvonalnak egy könyvtárra kell mutatnia, nem pedig egy szimbolikus hivatkozásra.
Ha ignore_errors = Igaz. akkor a sikertelen törlés eredményeként előforduló hibák figyelmen kívül maradnak. Ha hamis (alapértelmezés szerint), akkor ezek a hibák átkerülnek az onerror kezelőre. vagy ha nem, akkor kivétel.
Az operációs rendszeren, amely fájlfüggvényeken alapuló függvényeket támogat, az alapértelmezett verzió az rmtree (). Nem sebezhető a szimbolikus kapcsolatokra.
Annak ellenőrzésére, hogy a rendszer sebezhető-e ilyen támadásokkal, használhatja az rmtree.avoids_symlink_attacks attribútumot.
Ha a hiba meg van adva. Ennek három függvénynek kell lennie: funkciónak. útját. excinfo.
Az első paraméter, funkció. Ez a funkció, amely létrehozta a kivételt; ez a platformtól és a tolmácstól függ. A második paraméter, az útvonal. ez az utat adja át a függvénynek. A harmadik paraméter, az excinfo, a sys.exc_info () által visszaadott kivétel információ. Az onerror okozta kivételek. nem feldolgozott.
Ha a dst egy meglévő könyvtár, akkor az src a könyvtár belsejébe lép. Ha létezik dst, de nem könyvtár, akkor felülírható.
shutil.disk_usage (elérési út) - visszaadja a lemezterület használati statisztikáit a teljes, használt és szabad arbits nevű nevű bájtban.
shutil.chown (útvonal, user = Nincs, group = Nincs) - megváltoztatja a fájl vagy könyvtár tulajdonosát és / vagy csoportját.
shutil.which (cmd, mode = os.F_OK | os.X_OK, path = Nincs) - visszaadja az elérési utat a futtatható fájlt egy adott parancs. Ha nincs fájlhoz egy fájl, akkor a Nincs. mód a fájlhoz szükséges hozzáférési jogok, alapértelmezés szerint csak a végrehajtható fájlokat vizsgálja.
Magas szintű funkciók az archivált és tömörített fájlok létrehozásához és olvasásához. Ezek a zipfile és a tarfile modulok funkcióin alapulnak.
shutil.make_archive (base_name, méret [, ROOT_DIR [, base_dir [, bőbeszédű [, dry_run [tulajdonosa [, csoport [, logger]]]]]]]) - létrehoz egy fájlt, és visszatér a nevét.
A base_name a létrehozandó fájl neve, beleértve az elérési utat is, de nem tartalmazza a kiterjesztéseket (nincs szükség ".zip" stb. írására).
formátum - archív formátum.
root_dir - könyvtár (az aktuálishoz képest), amelyet archiválunk.
base_dir - az archív könyvtár (azaz az archívum összes fájlja ebben a mappában lesz).
Ha dry_run = Igaz. Az archívum nem jön létre, de az elvégzett műveletek naplózásra kerülnek.
a tulajdonost és a csoportot használják a tar archívum létrehozásakor.
shutil.get_archive_formats () - az archiváláshoz rendelkezésre álló formátumok listája.
shutil.unpack_archive (fájlnév [, extract_dir [, formátum]]) - kicsomagolja az archívumot. fájlnév - az archívum teljes elérési útja.
Az extract_dir az a hely, ahol a tartalom letöltésre kerül (az alapértelmezett az aktuális).
formátum - az archívum formátuma (alapértelmezés szerint megpróbálja kitalálni a fájlkiterjesztést).
shutil.get_unpack_formats () - a dekompresszióhoz rendelkezésre álló formátumok listája.
Kimeneti terminál kérése
shutil.get_terminal_size (fallback = (oszlopok, sorok)) - visszaadja a terminál ablak méretét.
a tartalék visszatér, ha a terminál méretét nem lehet meghatározni (a terminál nem támogatja az ilyen kéréseket, vagy a program terminál nélkül működik). Az alapértelmezett érték (80, 24).