Python取消勾选,然后分配给字典
更新: 我尝试创建两个单独的函数来保存和加载字典。工作得很漂亮。但仍然存在一个问题。程序将无法识别行emails=updateEmails 它可以很好地解压,这些内容都在各自的字典中,但我无法让它将它们分配到所有其他功能都会改变的全局“电子邮件”中 =====================================================Python取消勾选,然后分配给字典,python,dictionary,pickle,eoferror,Python,Dictionary,Pickle,Eoferror,更新: 我尝试创建两个单独的函数来保存和加载字典。工作得很漂亮。但仍然存在一个问题。程序将无法识别行emails=updateEmails 它可以很好地解压,这些内容都在各自的字典中,但我无法让它将它们分配到所有其他功能都会改变的全局“电子邮件”中 ===================================================== import pickle dataList = open('data.txt','wb') global
import pickle
dataList = open('data.txt','wb')
global emails
emails = {}
def loading():
inFile = open('data.txt', 'rb')
updatedEmails = pickle.load(inFile)
print (updatedEmails)
inFile.close()
def saving(emails):
dataList = open('data.txt', 'wb')
pickle.dump(emails, dataList)
dataList.close()
def displayMenu():
print('\t\t\t\tMenu')
print('\t5)Display the list')
print('\t6)Quit')
def main():
choice = 0
loading()
while choice != 6:
displayMenu()
choice = int(input('Enter your choice: '))
if choice == 1:
add()
elif choice == 6:
saving(emails)
elif choice == 7:
loading()
emails = updatedEmails
main()
您的代码先打开pickle文件进行写入: 将文件截断为0;当您尝试从同一个文件加载pickle时,它是空的 仅当您实际上要向文件写入新的pickle时才打开文件进行写入,而不是在之前
dataList = open('data.txt','wb')