如何在 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:"))

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

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

原文由 sarang.g 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 377
1 个回答

在 Python 2.x 中使用 raw_input() 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)

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

原文由 jDo 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题