【发布时间】:2014-04-15 08:10:58
【问题描述】:
我正在为 Windows 7 使用 Python 3.3 制作通讯录应用程序。我将联系人信息存储在 pickle 文件 (.pkl) 中。我想加载文件夹中的所有 pkl 文件并用 pickle 加载它们,并使用我的 GUI 显示所有联系人的目录。到目前为止,这是我加载文件夹中所有泡菜文件的代码:
for root, dirs, files, in os.walk("LIP Source Files/Contacts/Contact Book"):
for file in files:
if file.endswith(".pkl"):
contacts = file
print(contacts)
opencontacts = open(os.getcwd() + "/LIP Source Files/Contacts/Contact Book/" + contacts, 'rb')
loadedcontacts = pickle.load(contacts)
print(loadedcontacts)
else:
lipgui.msgbox("No contacts found!")
这是 lipgui.choicebox() 的代码:
def choicebox(msg="Pick something."
, title=" "
, choices=()
):
"""
Present the user with a list of choices.
return the choice that he selects.
return None if he cancels the selection selection.
@arg msg: the msg to be displayed.
@arg title: the window title
@arg choices: a list or tuple of the choices to be displayed
"""
if len(choices) == 0: choices = ["Program logic error - no choices were specified."]
global __choiceboxMultipleSelect
__choiceboxMultipleSelect = 0
return __choicebox(msg,title,choices)
【问题讨论】:
-
您的帖子实际上不包含任何问题。 (至少我没有找到。)请提供一些具体信息,你想知道的。
-
我只是想知道如何 pickle.load 文件夹中的所有 pkl 文件并在 GUI 中单独显示它们!
-
使用
pickle.load完成解酸(就像您在评论中已经指出的那样)并在您的 GUI 中显示它取决于您用于 GUI 的库,没有更多就无法回答信息。 -
那我该怎么做呢?有可能吗?
-
什么?解封还是展示?对于Unpickling:就像你一样。
loadedcontacts = pickle.load(contacts)。然后loadedcontacts是您加载的、未腌制的联系人。对于显示,我已经说过,如果没有更多信息,这里无法回答。
标签: python python-3.x windows-7 pickle