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).