0
我已经在python 3.5上制作了一个程序,您可以找到链接到用户名的密码,为现有用户创建一个新密码,并向该用户添加一个新密码字典然后pickles它,所以每次我加载程序所有的用户名和密码将在那里。'AttributeError:'当我试图取出字典时
,来了的错误是你创建的咸菜文件,然后在第6行错误
AttributeError: Can't get attribute 'NewPass' on <module '__main__' (built-in)>
发生(运行它的第一次后)。
这里是我的脚本:
import sys
import pickle
import os
if os.path.exists("branston.p"):
LOGG = pickle.load(open('branston.p', 'rb'))
else:
LOGG = {'Sam': ('CHRIST')}
def Find():
Username = input("Say a Username.")
print (LOGG[Username])
def NewPass():
Username = Input("Enter your username.")
Newpass = input("Enter your new password")
if NewPass == input("Confirm password"):
LOGG[Username] = (NewPass)
def NewEntry():
NewUser = input("Enter your new username.")
Newpass = input("Enter your new password.")
LOGG[NewUser] = (NewPass)
loop = True
while loop == True:
function = input("Say what you want me to do.'Find', 'NewPass', 'NewEntry', 'Stop'.")
if function == ("Find"):
Find()
elif function == ("NewPass"):
NewPass()
elif function == ("NewEntry"):
NewEntry()
elif function == ("Stop"):
f = open('branston.p', 'wb')
pickle.dump(LOGG, f)
f.close()
sys.exit()
任何帮助,将不胜感激。谢谢!
Python区分大小写。 “Newpass”与“NewPass”不同。 – Kevin
不要将您的变量命名为您的函数。它看起来像你腌一个功能。 – zvone
请查看[PEP8](https://www.python.org/dev/peps/pep-0008/)。通过适当的命名约定,这个错字很容易被发现。 – MisterMiyagi