Как сделать так, чтобы не надо было писать папку которую надо создать в указанном input() пути?

Рейтинг: 0Ответов: 3Опубликовано: 16.06.2023

Код:

import os

path = input("Path: ")

os.mkdir(path)

Как сделать так, чтобы не надо было писать папку, которую надо создать в указанном input() пути? То есть, когда пользователь вводит путь, куда надо создать папку (history и common), не надо было указывать название этих папок.

Сейчас надо ввести вот так:

C:\Users\Zver\Desktop\Новая папка (2)\history

А надо вот так, но папка должна появиться:

C:\Users\Zver\Desktop\Новая папка (2)

Ответы

▲ 0Принят

Можно добавить название необходимых папок в список и с помощью него создавать их по указанному пути:

import os

lst=['history' ,'common']
path = input("Path: ")
for i in lst:
    os.mkdir(path + i)

Обратите внимание, что путь должен иметь вид: Диск:\Ваш_путь\

▲ 1

Просто создайте две папки в пути, который вы указали в input():

import os
path = input("Path: ")
history_path = f'{path}\history'
common_path = f'{path}\common'
os.mkdir(history_path)
os.mkdir(common_path)
▲ 0
import os.path

FOLDERS = 'history', 'common'

path = input("Path: ")
for folder in FOLDERS:
    full_path = os.path.join(path, folder)
    os.mkdir(full_path)

Применение функции os.path.join() вместо простого соединения имеет преимущество в том, что не важно, если пользователь окончил путь обратным слешом или нет.