如何在python 2.7中将用户输入转换为字符串

sar*_*g.g 3 python string user-input nameerror python-2.7

当我进入

username = str(input("Username:"))

password = str(input("Password:"))

运行程序后,我用我的名字输入输入并按回车键

username = sarang

我收到了错误

NameError: name 'sarang' is not defined

我试过了

username = '"{}"'.format(input("Username:"))

password = '"{}"'.format(input("Password:"))

但我最终得到了同样的错误.

如何将输入转换为字符串并修复错误?

jDo*_*jDo 7

使用raw_input()在Python 2.x和input()Python中3.X得到一个字符串.

您有两种选择:通过Python 3.x运行代码或更改input()raw_input()代码.

Python 2.x input()将用户输入评估为代码,而不是数据.它会在您现有的代码中查找一个变量,sarang但无法找到它; 因此NameError抛出了.

附注:您可以将其添加到您的代码中并调用input_func().它将自动选择正确的输入方法,因此您的代码在Python 2.x和3.x中的工作方式相同:

input_func = None
try:
    input_func = raw_input
except NameError:
    input_func = input

# test it

username = input_func("Username:")
print(username)
Run Code Online (Sandbox Code Playgroud)

查看此问题以获取更多详细信息.