【问题标题】:Is it possible to provide persisting data in a pypi package?是否可以在 pypi 包中提供持久数据?
【发布时间】:2020-06-21 16:51:02
【问题描述】:

我正在编写一个 python 包,它提供了从网站获取数据并对其进行处理的功能。处理后,它应该记住这个特定的数据,这样它就不会再次尝试处理它,即使在重新启动脚本之后也是如此。

我将如何实现持久保存这些数据(仅保存一个 id)?我考虑过在我的包中提供一个 sqlite3 数据库文件。那有可能以某种方式访问​​吗?还是有其他我看不到的更简单的方法?

【问题讨论】:

    标签: python-3.x sqlite pip pypi persistent-storage


    【解决方案1】:

    如果你想在本地存储数据,你可以序列化为一个 pickle 对象。超快的读写将在运行之间存储数据。 https://docs.python.org/3.4/library/pickle.html

    with open('persist.p','wb') as f:
        pickle.dump(object,f)
    
    with open('persist.p','rb') as f:
        object = pickle.load(f)
    

    关于持久性的 Python 文档 here

    【讨论】:

    • 谢谢!我会同时处理大量数据,但只保存 id。在这种情况下,pickle 会是最快的选择,还是 json 之类的?
    • 一般而言,pickle 比写入 JSON 更快,但只能在 Python 中读取,因此取决于您是否希望其他软件能够处理。 Pickles 不是为并发访问而设计的
    猜你喜欢
    • 2020-06-09
    • 2015-01-09
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    相关资源
    最近更新 更多