首页 > 解决方案 > 使用批处理文件在 python 中获取用户输入

问题描述

我有一个 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

我希望用户在命令行中输入可以用作脚本中的变量的输入。谢谢!

标签: pythoncmdautomationuser-input

解决方案


重新安排程序的逻辑以:

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

while True:
    username = input("Please enter username:")
    if username in users:
        break
    else:
        print("Incorrect username")

推荐阅读