Выбор каталога из списка - PullRequest
       21

Выбор каталога из списка

0 голосов
/ 22 октября 2018

У меня проблема при попытке получить пользовательский ввод для выбора каталога, полученного из списка

def  listPath():                                 
    p = list(os.listdir(work_path,))
    for dirs in enumerate(p,1):
       i = print(dirs, sep ="\n")

При этом выводится нумерованный список каталогов в текущей папке:

(1, 'Folder 1')
(2, 'Folder 2')
(3, 'Folder 3')

Я хотел бы позволить пользователю выбрать каталог из этого списка и затем перейти в этот каталог.Но я потерян.

Буду признателен за любую помощь.

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Ваше решение может быть таким:

def  listPath():
    path = 'your path'
    for x in os.listdir(path):
        print(x)     # this prints the folders or file that are inside your path directory

Чтобы получить выходные данные по полному пути файла или папки и выбрать папку, вы можете сделать

 import os


 def listPath():

    list_path = []
    numbered = 1
    path = 'your path'

    for x in os.listdir(path):
        acutal_path = str(numbered) + ' ' + path + os.sep + x     #This variable stores full path for your all sub directory
        list_path.append(actual_path)
        print(str(numbered) + actual_path)

    answer = input("Which folder do you want,enter a number?")  # Ask user to enter to which number they want to enter

    for y in list_path:
        if answer in y:
            print('You have selected {}'.format(list_path[int(answer)])

    os.chdir(actual_path[int(answer)])    # Change you to the selected directory by the user.
0 голосов
/ 22 октября 2018

Вы можете использовать

answer = input("Which folder do you want,enter a number?") 

, чтобы спросить пользователя.Затем используйте то, что он вводит.

print("You selected folder: {}".format(p[int(answer)-1]))

Минус 1, потому что вы добавили 1 в своем перечислении.

...