Как сохранить файл .txt в папку, а если папки не существует создать ее в питоне

Рейтинг: 1Ответов: 2Опубликовано: 16.07.2023

Как сохранить файл .txt в папку, а если папки не существует создать ее в питоне. Нужно реализовать простенькую программу с модулем os

Ответы

▲ 2

Данный ответ предполагает новую версию python (как минимум 3.4). Вместо модуля os имеется также объектно-ориентированная pathlib. Ее использование в новых версиях python более предпочтительно. Код с использованием pathlib:

def create_file_inside_of_dir(dirname: str, filename: str):
    dirname = Path(dirname)
    dirname.mkdir(parents=True, exist_ok=True)
    open(dirname / filename, 'a')

Преимущество такого варианта состоит в его большей функциональности: можно создать вложенные папки, просто указав желаемый вложенный путь, а не создавая папки последовательно. Пример:

create_file_inside_of_dir('test_dir/another_test_dir/and_another_one', 'text.txt')

Это создаст 3 вложенные друг в друга папки и файл в последней.

▲ 1

Как я уже описал в комментариях, для этой задачи нужен только модуль os:

import os


def create_file_inside_of_dir(dirname: str, filename: str):
    os.makedirs(dirname, exist_ok=True)
    open(os.path.join(dirname, filename), 'a')


if __name__ == '__main__':
    create_file_inside_of_dir('test_dir', 'text.txt')