Filesystem

dublib.Methods.Filesystem.AtomicWrite(path: PathLike, data: bytes)[исходный код]

Атомарно производит запись файла в бинарном представлении, используя создание временного файла со сбросом кэша записи и операцию os.replace().

Параметры:
  • path (PathLike) – Путь к записываемому файлу.

  • data (bytes) – Набор байтов для записи.

dublib.Methods.Filesystem.GetRandomFile(directory: PathLike) PathLike | None[исходный код]

Выбирает случайный файл из каталога.

Параметры:

directory (PathLike) – Путь к каталогу.

Исключение:

FileNotFoundError – Выбрасывается, если каталог не существует.

Результат:

Путь к случайному файлу в каталоге по стандарту POSIX или None, если каталог пустой.

Тип результата:

PathLike

dublib.Methods.Filesystem.ListDir(path: PathLike | None = None) list[str][исходный код]

Основана на os.scandir(), более быстром и подробном варианте os.listdir().

Параметры:

path (PathLike | None) – Путь для сканирования. Если передать None, будет возвращёт список элементов в текущем каталоге.

Результат:

Список названий каталогов и имён файлов по указанному пути

Тип результата:

list[str]

dublib.Methods.Filesystem.MakeRootDirectories(directories: Iterable[str] | str)[исходный код]

Создаёт наборы каталогов в текущей корневой директории скрипта.

Параметры:

directories (Iterable[str]) – Последовательность названий директорий или название конкретной директории.

dublib.Methods.Filesystem.NormalizePath(path: PathLike, strip: bool = True) PathLike[исходный код]

Приводит путь к POSIX-стандарту.

Параметры:
  • path (PathLike) – Обрабатываемый путь.

  • strip (bool) – Указывает, следует ли удалить наклонную черту из конца пути при наличии.

Результат:

Путь в POSIX-стандарте.

Тип результата:

PathLike

dublib.Methods.Filesystem.ReadJSON(path: PathLike) dict[исходный код]

Считывает файл JSON и десириализует его в словарь.

Параметры:

path (PathLike) – Путь к файлу.

Результат:

Словарное представление данных JSON.

Тип результата:

dict

Исключение:
  • json.JSONDecodeError – Выбрасывается при невозможности десериализовать файл.

  • FileNotFoundError – Выбрасывается при отсутствии файла.

dublib.Methods.Filesystem.ReadTextFile(path: PathLike, split: bool = False, strip: bool = False) str | tuple[str][исходный код]

Считывает текстовый файл.

Параметры:
  • path (PathLike) – Путь к файлу.

  • split (bool) – Если активировано, файл будет разбит на набор строк по символу новой строки.

  • strip (bool) – Если активировано, к каждой возвращаемой строке будет применён метод strip().

Результат:

Содержимое текстового файла в виде строки или набора строк.

Тип результата:

str | tuple[str]

Исключение:

FileNotFoundError – Выбрасывается при отсутствии файла.

dublib.Methods.Filesystem.ReadYAML(path: PathLike) dict[исходный код]

Считывает файл YAML и десириализует его в словарь.

Параметры:

path (PathLike) – Путь к файлу.

Результат:

Словарное представление данных YAML.

Тип результата:

dict

Исключение:

FileNotFoundError – Выбрасывается при отсутствии файла.

dublib.Methods.Filesystem.RemoveDirectoryContent(path: PathLike)[исходный код]

Удлаляет содержимое каталога.

Параметры:

path (PathLike) – Путь к каталогу.

dublib.Methods.Filesystem.WriteJSON(path: PathLike, data: dict, pretty: bool = True, atomic: bool = False)[исходный код]

Записывает отформатированный файл JSON.

Параметры:
  • path (PathLike) – Путь к файлу.

  • data (dict) – Словарь для сериализации в JSON.

  • pretty (bool) – Включает режим форматирования с использованием символов новых строк и табуляции.

  • atomic (bool) – Переключает использование атомарной записи.

Исключение:

TypeError – Выбрасывается при невозможности сериализации данных в JSON.

dublib.Methods.Filesystem.WriteTextFile(path: PathLike, text: str | Iterable[str], atomic: bool = False)[исходный код]

Записывает текстовый файл.

Параметры:
  • path (PathLike) – Путь к файлу.

  • text (str | Iterable[str]) – Строка или последовательность строк, которые должны быть объединены через символ новой строки.

  • atomic (bool) – Переключает использование атомарной записи.

dublib.Methods.Filesystem.WriteYAML(path: PathLike, data: dict, atomic: bool = False)[исходный код]

Записывает файл YAML.

Параметры:
  • path (PathLike) – Путь к файлу.

  • data (dict) – Словарь для сериализации в YAML.

  • atomic (bool) – Переключает использование атомарной записи.