我是python的新手,并编写了一个简短的脚本来试用它们,同时这样做我遇到了错误我以前从未遇到过特定情况,当我尝试将uN
定义为{用户输入的{1}}:
str
代码如下:
Traceback (most recent call last):
File "/home/pi/Desktop/Scripts/classTest/classTest1.py", line 14, in <module>
uN = input(str("Username"))
File "<string>", line 1, in <module>
NameError: name 'ben' is not defined
我之前使用过很多class user:
def __init__(self, usrName, pWord):
self.usrName = usrName
self.pWord = pWord
def createUsrPw(self):
f = open("usrName.txt", "a")
f.write(self.usrName)
f.write(" ")
f.write(self.pWord)
f.write("\n")
f.close()
uN = input(str("Username"))
pW = input(str("Password"))
usr1 = user(uN, pW)
usr1.createUsrPw()
语法并且从未出现过这个错误,错误会追溯到第1行,所以x = input(str())
仍然被认为是该类的一部分吗?
当我将代码简化为此时,它可以完美地运行:
uN = input(str("Username"))
附加文件usrName.txt以按预期包含“Ben testPw”。
答案 0 :(得分:1)
在使用Python 2.X时,您应该使用raw_input
而不是input
。 input
适用于Python 3.
此代码可以使用:
class user:
def __init__(self, usrName, pWord):
self.usrName = usrName
self.pWord = pWord
def createUsrPw(self):
f = open("usrName.txt", "a")
f.write(self.usrName)
f.write(" ")
f.write(self.pWord)
f.write("\n")
f.close()
uN = raw_input("Username")
pW = raw_input("Password")
usr1 = user(uN, pW)
usr1.createUsrPw()
答案 1 :(得分:0)
使用raw_input。这看起来像Python 2错误,我认为你不使用Python 3
您也不需要在字符串文字上调用str。 str(“asdf”)==“asdf”