ПредишенСледващото

shutil модул съдържа набор от функции на високо равнище за отваряне на файлове, групи от файлове и папки. По-конкретно, можете да намерите тук ви позволява да копирате, преместите и изтриване на файлове и папки. Често се използва заедно с операционната система на модула.

Операции на файлове и директории

В този случай, ако положението на указателя fsrc не 0 (тоест, докато това е направено нещо като fsrc.read (47)), чието съдържание ще се копират от текущата позиция, а не от началото на файла.

Ако SRC и DST са един и същи файл, с shutil.SameFileError на изключение.

Ако не съществува DST, тя не се промени.

указател Dst не съществува. Той ще бъде създаден, заедно с липсващ родителски директории.

Ако False (по подразбиране), той ще се копира съдържание и метаданни файлове, които пунктовете за връзка.

Можете да зададете ignore_dangling_symlinks флаг = True. да се скрие грешката.

shutil.rmtree (път, ignore_errors = False, onerror = Няма) - Изтрива текущата директория и всички поддиректории; път трябва да води към директория, а не символична връзка.

Ако ignore_errors = True. грешките, възникнали в резултат на неуспешната премахване, ще бъдат игнорирани. Ако False (по подразбиране), тези грешки ще бъдат предадени на onerror на манипулатор. или, ако не, тогава изключение.

На операционни системи, които поддържат функцията на основата на описания на файлове версия rmtree () се използва по подразбиране. не уязвими за атаки срещу символни връзки.

За да проверите дали уязвими за подобни атаки от страна на системата, можете да използвате rmtree.avoids_symlink_attacks атрибут.

Ако не е посочен onerror. тя трябва да бъде функция с 3 параметъра: функция. път. excinfo.

Първият параметър, функция. е функция, която хвърля изключение; това зависи от платформата и преводач. Вторият параметър, път. е пътят, предавана на функцията. Третият параметър, excinfo - тази информация е изключение върна sys.exc_info (). Изключения, причинени от onerror. не обработват.

Ако DST - текущата директория, след което се премества в директорията на SRC. Ако не съществува DST но не е директория, тя може да бъде заменена.

shutil.disk_usage (път) - връща статистика на дисково пространство, както namedtuple с обща aributami, използван и свободен, в байтове.

shutil.chown (път, ръководство = Няма, група = Няма) - промяна на собственика и / или групата на файл или директория.

shutil.which (ПМС, режим = os.F_OK | os.X_OK, път = Няма) - връща по пътя към изпълнимия файл на дадена команда. Ако няма съвпадение с всеки файл, след Няма. Този режим необходими разрешения от файла, търсейки изпълним само по подразбиране.

функции на високо равнище за създаване и четене на архивирани и компресирани файлове. Въз основа на функциите на zipfile и tarfile модули.

shutil.make_archive (base_name, формат [, root_dir [, base_dir [, многословно [, dry_run [, собственик [, група [, дървар]]]]]]]) - създава файл и връща името му.

base_name е името на файла, за да се създаде, в това число на пътя, но без да се включва разширението (няма нужда да пиша ".zip" и т.н.).

формат - файлов формат.

root_dir - директория (по отношение на ток), която ние архивирате.

base_dir - директория, която ще бъде архивиран (т.е. всички файлове в архива са в тази папка).

Ако dry_run = True. няма да бъде създаден архива, но операциите, които трябваше да бъдат изпълнени, ще бъдат написани на регистратора.

собственик и група се използва за създаване на катран архив.

shutil.get_archive_formats () - списък на наличните формати за архивиране.

shutil.unpack_archive (името на файла [, extract_dir [, формат]]) - разопакова архива. име на файла - пълния път до файла.

extract_dir - е мястото, където съдържанието ще бъде премахнато (по подразбиране в тока).

формат - файлов формат (по подразбиране се опитва да отгатне разширението на файла).

shutil.get_unpack_formats () - списък на наличните формати за разопаковане.

Заявка размер извод

shutil.get_terminal_size (помощни = (колони, линии)) - връща размера на клемната кутия.

връща като резервен вариант, ако не може да се намери големината на терминала (терминал не поддържа такива искания, или програмата работи без терминал). Подразбиране (80, 24).

Подкрепете проекта - споделете линка, благодаря!