python-project/python-3.7.4-docs-html/library/persistence.html

257 lines
15 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Data Persistence &#8212; Python 3.7.4 documentation</title>
<link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/sidebar.js"></script>
<link rel="search" type="application/opensearchdescription+xml"
title="Search within Python 3.7.4 documentation"
href="../_static/opensearch.xml"/>
<link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="copyright" title="Copyright" href="../copyright.html" />
<link rel="next" title="pickle — Python object serialization" href="pickle.html" />
<link rel="prev" title="macpath — Mac OS 9 path manipulation functions" href="macpath.html" />
<link rel="shortcut icon" type="image/png" href="../_static/py.png" />
<link rel="canonical" href="https://docs.python.org/3/library/persistence.html" />
<script type="text/javascript" src="../_static/copybutton.js"></script>
<script type="text/javascript" src="../_static/switchers.js"></script>
<style>
@media only screen {
table.full-width-table {
width: 100%;
}
}
</style>
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="pickle.html" title="pickle — Python object serialization"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="macpath.html" title="macpath — Mac OS 9 path manipulation functions"
accesskey="P">previous</a> |</li>
<li><img src="../_static/py.png" alt=""
style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="https://www.python.org/">Python</a> &#187;</li>
<li>
<span class="language_switcher_placeholder">en</span>
<span class="version_switcher_placeholder">3.7.4</span>
<a href="../index.html">Documentation </a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" accesskey="U">The Python Standard Library</a> &#187;</li>
<li class="right">
<div class="inline-search" style="display: none" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="Quick search" type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('.inline-search').show(0);</script>
|
</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="data-persistence">
<span id="persistence"></span><h1>Data Persistence<a class="headerlink" href="#data-persistence" title="Permalink to this headline"></a></h1>
<p>The modules described in this chapter support storing Python data in a
persistent form on disk. The <a class="reference internal" href="pickle.html#module-pickle" title="pickle: Convert Python objects to streams of bytes and back."><code class="xref py py-mod docutils literal notranslate"><span class="pre">pickle</span></code></a> and <a class="reference internal" href="marshal.html#module-marshal" title="marshal: Convert Python objects to streams of bytes and back (with different constraints)."><code class="xref py py-mod docutils literal notranslate"><span class="pre">marshal</span></code></a> modules can turn
many Python data types into a stream of bytes and then recreate the objects from
the bytes. The various DBM-related modules support a family of hash-based file
formats that store a mapping of strings to other strings.</p>
<p>The list of modules described in this chapter is:</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="pickle.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pickle</span></code> — Python object serialization</a><ul>
<li class="toctree-l2"><a class="reference internal" href="pickle.html#relationship-to-other-python-modules">Relationship to other Python modules</a><ul>
<li class="toctree-l3"><a class="reference internal" href="pickle.html#comparison-with-marshal">Comparison with <code class="docutils literal notranslate"><span class="pre">marshal</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="pickle.html#comparison-with-json">Comparison with <code class="docutils literal notranslate"><span class="pre">json</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="pickle.html#data-stream-format">Data stream format</a></li>
<li class="toctree-l2"><a class="reference internal" href="pickle.html#module-interface">Module Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="pickle.html#what-can-be-pickled-and-unpickled">What can be pickled and unpickled?</a></li>
<li class="toctree-l2"><a class="reference internal" href="pickle.html#pickling-class-instances">Pickling Class Instances</a><ul>
<li class="toctree-l3"><a class="reference internal" href="pickle.html#persistence-of-external-objects">Persistence of External Objects</a></li>
<li class="toctree-l3"><a class="reference internal" href="pickle.html#dispatch-tables">Dispatch Tables</a></li>
<li class="toctree-l3"><a class="reference internal" href="pickle.html#handling-stateful-objects">Handling Stateful Objects</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="pickle.html#restricting-globals">Restricting Globals</a></li>
<li class="toctree-l2"><a class="reference internal" href="pickle.html#performance">Performance</a></li>
<li class="toctree-l2"><a class="reference internal" href="pickle.html#examples">Examples</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="copyreg.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">copyreg</span></code> — Register <code class="xref py py-mod docutils literal notranslate"><span class="pre">pickle</span></code> support functions</a><ul>
<li class="toctree-l2"><a class="reference internal" href="copyreg.html#example">Example</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="shelve.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">shelve</span></code> — Python object persistence</a><ul>
<li class="toctree-l2"><a class="reference internal" href="shelve.html#restrictions">Restrictions</a></li>
<li class="toctree-l2"><a class="reference internal" href="shelve.html#example">Example</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="marshal.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">marshal</span></code> — Internal Python object serialization</a></li>
<li class="toctree-l1"><a class="reference internal" href="dbm.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">dbm</span></code> — Interfaces to Unix “databases”</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dbm.html#module-dbm.gnu"><code class="xref py py-mod docutils literal notranslate"><span class="pre">dbm.gnu</span></code> — GNUs reinterpretation of dbm</a></li>
<li class="toctree-l2"><a class="reference internal" href="dbm.html#module-dbm.ndbm"><code class="xref py py-mod docutils literal notranslate"><span class="pre">dbm.ndbm</span></code> — Interface based on ndbm</a></li>
<li class="toctree-l2"><a class="reference internal" href="dbm.html#module-dbm.dumb"><code class="xref py py-mod docutils literal notranslate"><span class="pre">dbm.dumb</span></code> — Portable DBM implementation</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="sqlite3.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sqlite3</span></code> — DB-API 2.0 interface for SQLite databases</a><ul>
<li class="toctree-l2"><a class="reference internal" href="sqlite3.html#module-functions-and-constants">Module functions and constants</a></li>
<li class="toctree-l2"><a class="reference internal" href="sqlite3.html#connection-objects">Connection Objects</a></li>
<li class="toctree-l2"><a class="reference internal" href="sqlite3.html#cursor-objects">Cursor Objects</a></li>
<li class="toctree-l2"><a class="reference internal" href="sqlite3.html#row-objects">Row Objects</a></li>
<li class="toctree-l2"><a class="reference internal" href="sqlite3.html#exceptions">Exceptions</a></li>
<li class="toctree-l2"><a class="reference internal" href="sqlite3.html#sqlite-and-python-types">SQLite and Python types</a><ul>
<li class="toctree-l3"><a class="reference internal" href="sqlite3.html#introduction">Introduction</a></li>
<li class="toctree-l3"><a class="reference internal" href="sqlite3.html#using-adapters-to-store-additional-python-types-in-sqlite-databases">Using adapters to store additional Python types in SQLite databases</a><ul>
<li class="toctree-l4"><a class="reference internal" href="sqlite3.html#letting-your-object-adapt-itself">Letting your object adapt itself</a></li>
<li class="toctree-l4"><a class="reference internal" href="sqlite3.html#registering-an-adapter-callable">Registering an adapter callable</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="sqlite3.html#converting-sqlite-values-to-custom-python-types">Converting SQLite values to custom Python types</a></li>
<li class="toctree-l3"><a class="reference internal" href="sqlite3.html#default-adapters-and-converters">Default adapters and converters</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="sqlite3.html#controlling-transactions">Controlling Transactions</a></li>
<li class="toctree-l2"><a class="reference internal" href="sqlite3.html#using-sqlite3-efficiently">Using <code class="xref py py-mod docutils literal notranslate"><span class="pre">sqlite3</span></code> efficiently</a><ul>
<li class="toctree-l3"><a class="reference internal" href="sqlite3.html#using-shortcut-methods">Using shortcut methods</a></li>
<li class="toctree-l3"><a class="reference internal" href="sqlite3.html#accessing-columns-by-name-instead-of-by-index">Accessing columns by name instead of by index</a></li>
<li class="toctree-l3"><a class="reference internal" href="sqlite3.html#using-the-connection-as-a-context-manager">Using the connection as a context manager</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="sqlite3.html#common-issues">Common issues</a><ul>
<li class="toctree-l3"><a class="reference internal" href="sqlite3.html#multithreading">Multithreading</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
<p class="topless"><a href="macpath.html"
title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">macpath</span></code> — Mac OS 9 path manipulation functions</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="pickle.html"
title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pickle</span></code> — Python object serialization</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../bugs.html">Report a Bug</a></li>
<li>
<a href="https://github.com/python/cpython/blob/3.7/Doc/library/persistence.rst"
rel="nofollow">Show Source
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="pickle.html" title="pickle — Python object serialization"
>next</a> |</li>
<li class="right" >
<a href="macpath.html" title="macpath — Mac OS 9 path manipulation functions"
>previous</a> |</li>
<li><img src="../_static/py.png" alt=""
style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="https://www.python.org/">Python</a> &#187;</li>
<li>
<span class="language_switcher_placeholder">en</span>
<span class="version_switcher_placeholder">3.7.4</span>
<a href="../index.html">Documentation </a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> &#187;</li>
<li class="right">
<div class="inline-search" style="display: none" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="Quick search" type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('.inline-search').show(0);</script>
|
</li>
</ul>
</div>
<div class="footer">
&copy; <a href="../copyright.html">Copyright</a> 2001-2019, Python Software Foundation.
<br />
The Python Software Foundation is a non-profit corporation.
<a href="https://www.python.org/psf/donations/">Please donate.</a>
<br />
Last updated on Jul 13, 2019.
<a href="../bugs.html">Found a bug</a>?
<br />
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 2.0.1.
</div>
</body>
</html>