Ввод пользовательского ввода в python с использованием командного файла - PullRequest
0 голосов
/ 06 августа 2020

У меня есть файл new.py, который я использую для автоматизации процедуры. Я хочу добавить пользовательский ввод в сценарий, который будет сохранен как переменная.

username = input("Please enter username:")

while username not in users:
    print("Incorrect Username")
    username = input("Please enter username:")

print("Username Accepted")

Но когда я выполняю свой файл new.py с помощью командного файла, который выглядит следующим образом:

cmd /c C:\ProgramData\Anaconda3\condabin\conda.bat run "C:\ProgramData\Anaconda3\python.exe" 
"C:\Users\mbeig\Downloads\new.py"
pause

Я получаю сообщение об ошибке:

Please enter username:
Traceback (most recent call last):
  File "C:\Users\mbeig\Downloads\new.py", line 39, in <module>
    username = input("Please enter username:")
EOFError: EOF when reading a line

Я хочу, чтобы пользователь ввел данные в командной строке, которые можно использовать как переменную в скрипте. Спасибо!

Ответы [ 2 ]

1 голос
/ 06 августа 2020

Переставьте logi c вашей программы на:

users = ['batman', 'robin', 'superman']

while True:
    username = input("Please enter username:")
    if username in users:
        break
    else:
        print("Incorrect username")
0 голосов
/ 06 августа 2020

Если вы используете python 3.8, вы можете использовать оператор моржа, чтобы сократить свой код

users = ['indianajones', 'wonderwoman', 'flash']

while (username := input("Please enter username:")) not in users:
    print("Incorrect username")
    
print(username)
# Other statements
...