当前位置: 首页 > 面试题库 >

将列表转储到pickle文件中,以后再取回

田硕
2023-03-14
问题内容

我正在尝试保存字符串列表,以便以后可以访问。如何使用泡菜来实现?一个说明性的例子可能会有所帮助。


问题答案:

腌制将序列化您的列表(将其转换为一个唯一的字节字符串,并将其输入),因此您可以将其保存到磁盘。您还可以使用pickle检索原始列表,从保存的文件中加载。

因此,首先建立一个列表,然后使用pickle.dump将其发送到文件…

Python 3.4.1 (default, May 21 2014, 12:39:51) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> mylist = ['I wish to complain about this parrot what I purchased not half an hour ago from this very boutique.', "Oh yes, the, uh, the Norwegian Blue...What's,uh...What's wrong with it?", "I'll tell you what's wrong with it, my lad. 'E's dead, that's what's wrong with it!", "No, no, 'e's uh,...he's resting."]
>>> 
>>> import pickle
>>> 
>>> with open('parrot.pkl', 'wb') as f:
...   pickle.dump(mylist, f)
... 
>>>

然后退出,然后再回来…并打开pickle.load

Python 3.4.1 (default, May 21 2014, 12:39:51) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pickle
>>> with open('parrot.pkl', 'rb') as f:
...   mynewlist = pickle.load(f)
... 
>>> mynewlist
['I wish to complain about this parrot what I purchased not half an hour ago from this very boutique.', "Oh yes, the, uh, the Norwegian Blue...What's,uh...What's wrong with it?", "I'll tell you what's wrong with it, my lad. 'E's dead, that's what's wrong with it!", "No, no, 'e's uh,...he's resting."]
>>>


 类似资料:
  • 标题说明了一切: null 编辑:工作示例要简单得多(多亏了@T.S.): 谢谢!

  • 问题内容: 假设我的列表得分= [1,2,3,4,5],并且在我的程序运行时它被更改了。如何将其保存到文件中,以便下次运行程序时可以将更改后的列表作为列表类型访问? 我试过了: 但这导致列表中的元素是字符串而不是整数。 问题答案: 我决定不想使用泡菜,因为我希望能够在测试期间打开文本文件并轻松更改其内容。因此,我这样做: 因此,尽管文件中的项目以字符串形式存储在文件中,但它们仍被读取为整数。

  • 问题内容: 我有一个文件,其内容为python列表的形式,如下所示: 有什么办法可以将python文件读回到列表对象中吗?而不是使用整个文件,而是将其读取为字符串。 编辑:对于那些可能有兴趣的人,我使用(import ast)遇到了一个奇怪的问题,作为解决上述问题的建议。 我在其中使用的程序具有从yahoo finance python模块获取历史股票数据的功能。此函数与ast.literal_e

  • 问题内容: 我想将每个mysql表转储到单独的文件中。手册指出此语法为 这表示您事先知道表名称。我可以设置现在知道每个表名称的脚本,但是说我在路上添加了一个新表,却忘记了更新转储脚本。然后,我丢失了一个或多个表的转储。 有没有办法自动将每个现有表转储到单独的文件中?还是我必须做一些脚本补;查询数据库,获取所有表名,然后按名称转储它们。 如果我走了脚本之路,哪些脚本语言可以访问mysql数据库? 问

  • 问题内容: 有没有办法将NumPy数组转储到CSV文件中?我有一个2D NumPy数组,需要以人类可读的格式转储它。 问题答案: 将数组保存到文本文件。

  • 问题内容: 如何在Python中读取文件的每一行并将每一行存储为列表中的元素? 我想逐行读取文件并将每一行追加到列表的末尾。 问题答案: