Как принять путь к каталогу в качестве пользовательского ввода в Windows? - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь разработать пользовательский интерфейс, который позволяет пользователям открывать меню, устанавливать каталог, вводить имя файла (word doc) и выполнять набор задач в файл, а также сохранять новый измененный файл в том же каталоге. / местоположение старого файла.

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

def menu():
""" the main user-interaction loop
"""
    Cuts = ""

    while True:
        display_menu()
        choice = int(input('Enter your choice: '))
        print()

        if choice == 0:
            print('input directory')
            x = input()
            os.chdir(x)

Я получаю следующую ошибку при попытке сделать это:

OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: "'C:\\Users\\NAME\\Desktop'"

Это так странно, учитывая, что когда я делаю это прямо в скрипте / оболочке, это работает!

Фактически, одна из первых строк моего кода: os.chdir (C: / Users / NAME / Desktop ') - который отлично работает.

Я знаю, что для Windows есть дискуссия о том, что «/» является побегом - концепция, которую я частично понимаю, но я уже пробовал множество альтернатив, используя «\» вместо «/» или «//». Также изучал использование raw_input, но я использую 3.6, так что эта функция даже не работает.

Любое понимание / помощь будет принята с благодарностью! Спасибо !!

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

На основании вашего сообщения об ошибке:

OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: "'C:\\Users\\NAME\\Desktop'"

Полагаю, вы ввели 'C:\Users\NAME\Desktop' в приглашение input. Опустите кавычки (''), и тогда вам будет хорошо идти.

В противном случае вы передадите эту строку в os.chdir: "'C:\Users\NAME\Desktop'", который не является допустимым путем.

0 голосов
/ 10 мая 2018

С примитивом Os ваш код будет выглядеть примерно так:

x = input()
path = os.path.join(os.getcwd(), x)
os.chdir(path)

Это будет переходить из вашего текущего каталога

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...