python-project/python-3.7.4-docs-html/library/uuid.html
Caleb Fontenot 335515d331 add files
2019-07-15 09:16:41 -07:00

517 lines
35 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>uuid — UUID objects according to RFC 4122 &#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="socketserver — A framework for network servers" href="socketserver.html" />
<link rel="prev" title="telnetlib — Telnet client" href="telnetlib.html" />
<link rel="shortcut icon" type="image/png" href="../_static/py.png" />
<link rel="canonical" href="https://docs.python.org/3/library/uuid.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="socketserver.html" title="socketserver — A framework for network servers"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="telnetlib.html" title="telnetlib — Telnet client"
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" >The Python Standard Library</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="internet.html" accesskey="U">Internet Protocols and Support</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="module-uuid">
<span id="uuid-uuid-objects-according-to-rfc-4122"></span><h1><a class="reference internal" href="#module-uuid" title="uuid: UUID objects (universally unique identifiers) according to RFC 4122"><code class="xref py py-mod docutils literal notranslate"><span class="pre">uuid</span></code></a> — UUID objects according to <span class="target" id="index-0"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc4122.html"><strong>RFC 4122</strong></a><a class="headerlink" href="#module-uuid" title="Permalink to this headline"></a></h1>
<p><strong>Source code:</strong> <a class="reference external" href="https://github.com/python/cpython/tree/3.7/Lib/uuid.py">Lib/uuid.py</a></p>
<hr class="docutils" />
<p>This module provides immutable <a class="reference internal" href="#uuid.UUID" title="uuid.UUID"><code class="xref py py-class docutils literal notranslate"><span class="pre">UUID</span></code></a> objects (the <a class="reference internal" href="#uuid.UUID" title="uuid.UUID"><code class="xref py py-class docutils literal notranslate"><span class="pre">UUID</span></code></a> class)
and the functions <a class="reference internal" href="#uuid.uuid1" title="uuid.uuid1"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid1()</span></code></a>, <a class="reference internal" href="#uuid.uuid3" title="uuid.uuid3"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid3()</span></code></a>, <a class="reference internal" href="#uuid.uuid4" title="uuid.uuid4"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid4()</span></code></a>, <a class="reference internal" href="#uuid.uuid5" title="uuid.uuid5"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid5()</span></code></a> for
generating version 1, 3, 4, and 5 UUIDs as specified in <span class="target" id="index-1"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc4122.html"><strong>RFC 4122</strong></a>.</p>
<p>If all you want is a unique ID, you should probably call <a class="reference internal" href="#uuid.uuid1" title="uuid.uuid1"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid1()</span></code></a> or
<a class="reference internal" href="#uuid.uuid4" title="uuid.uuid4"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid4()</span></code></a>. Note that <a class="reference internal" href="#uuid.uuid1" title="uuid.uuid1"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid1()</span></code></a> may compromise privacy since it creates
a UUID containing the computers network address. <a class="reference internal" href="#uuid.uuid4" title="uuid.uuid4"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid4()</span></code></a> creates a
random UUID.</p>
<p>Depending on support from the underlying platform, <a class="reference internal" href="#uuid.uuid1" title="uuid.uuid1"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid1()</span></code></a> may or may
not return a “safe” UUID. A safe UUID is one which is generated using
synchronization methods that ensure no two processes can obtain the same
UUID. All instances of <a class="reference internal" href="#uuid.UUID" title="uuid.UUID"><code class="xref py py-class docutils literal notranslate"><span class="pre">UUID</span></code></a> have an <code class="xref py py-attr docutils literal notranslate"><span class="pre">is_safe</span></code> attribute
which relays any information about the UUIDs safety, using this enumeration:</p>
<dl class="class">
<dt id="uuid.SafeUUID">
<em class="property">class </em><code class="descclassname">uuid.</code><code class="descname">SafeUUID</code><a class="headerlink" href="#uuid.SafeUUID" title="Permalink to this definition"></a></dt>
<dd><div class="versionadded">
<p><span class="versionmodified added">New in version 3.7.</span></p>
</div>
<dl class="attribute">
<dt id="uuid.SafeUUID.safe">
<code class="descname">safe</code><a class="headerlink" href="#uuid.SafeUUID.safe" title="Permalink to this definition"></a></dt>
<dd><p>The UUID was generated by the platform in a multiprocessing-safe way.</p>
</dd></dl>
<dl class="attribute">
<dt id="uuid.SafeUUID.unsafe">
<code class="descname">unsafe</code><a class="headerlink" href="#uuid.SafeUUID.unsafe" title="Permalink to this definition"></a></dt>
<dd><p>The UUID was not generated in a multiprocessing-safe way.</p>
</dd></dl>
<dl class="attribute">
<dt id="uuid.SafeUUID.unknown">
<code class="descname">unknown</code><a class="headerlink" href="#uuid.SafeUUID.unknown" title="Permalink to this definition"></a></dt>
<dd><p>The platform does not provide information on whether the UUID was
generated safely or not.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="uuid.UUID">
<em class="property">class </em><code class="descclassname">uuid.</code><code class="descname">UUID</code><span class="sig-paren">(</span><em>hex=None</em>, <em>bytes=None</em>, <em>bytes_le=None</em>, <em>fields=None</em>, <em>int=None</em>, <em>version=None</em>, <em>*</em>, <em>is_safe=SafeUUID.unknown</em><span class="sig-paren">)</span><a class="headerlink" href="#uuid.UUID" title="Permalink to this definition"></a></dt>
<dd><p>Create a UUID from either a string of 32 hexadecimal digits, a string of 16
bytes in big-endian order as the <em>bytes</em> argument, a string of 16 bytes in
little-endian order as the <em>bytes_le</em> argument, a tuple of six integers
(32-bit <em>time_low</em>, 16-bit <em>time_mid</em>, 16-bit <em>time_hi_version</em>,
8-bit <em>clock_seq_hi_variant</em>, 8-bit <em>clock_seq_low</em>, 48-bit <em>node</em>) as the
<em>fields</em> argument, or a single 128-bit integer as the <em>int</em> argument.
When a string of hex digits is given, curly braces, hyphens,
and a URN prefix are all optional. For example, these
expressions all yield the same UUID:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="n">UUID</span><span class="p">(</span><span class="s1">&#39;{12345678-1234-5678-1234-567812345678}&#39;</span><span class="p">)</span>
<span class="n">UUID</span><span class="p">(</span><span class="s1">&#39;12345678123456781234567812345678&#39;</span><span class="p">)</span>
<span class="n">UUID</span><span class="p">(</span><span class="s1">&#39;urn:uuid:12345678-1234-5678-1234-567812345678&#39;</span><span class="p">)</span>
<span class="n">UUID</span><span class="p">(</span><span class="nb">bytes</span><span class="o">=</span><span class="sa">b</span><span class="s1">&#39;</span><span class="se">\x12\x34\x56\x78</span><span class="s1">&#39;</span><span class="o">*</span><span class="mi">4</span><span class="p">)</span>
<span class="n">UUID</span><span class="p">(</span><span class="n">bytes_le</span><span class="o">=</span><span class="sa">b</span><span class="s1">&#39;</span><span class="se">\x78\x56\x34\x12\x34\x12\x78\x56</span><span class="s1">&#39;</span> <span class="o">+</span>
<span class="sa">b</span><span class="s1">&#39;</span><span class="se">\x12\x34\x56\x78\x12\x34\x56\x78</span><span class="s1">&#39;</span><span class="p">)</span>
<span class="n">UUID</span><span class="p">(</span><span class="n">fields</span><span class="o">=</span><span class="p">(</span><span class="mh">0x12345678</span><span class="p">,</span> <span class="mh">0x1234</span><span class="p">,</span> <span class="mh">0x5678</span><span class="p">,</span> <span class="mh">0x12</span><span class="p">,</span> <span class="mh">0x34</span><span class="p">,</span> <span class="mh">0x567812345678</span><span class="p">))</span>
<span class="n">UUID</span><span class="p">(</span><span class="nb">int</span><span class="o">=</span><span class="mh">0x12345678123456781234567812345678</span><span class="p">)</span>
</pre></div>
</div>
<p>Exactly one of <em>hex</em>, <em>bytes</em>, <em>bytes_le</em>, <em>fields</em>, or <em>int</em> must be given.
The <em>version</em> argument is optional; if given, the resulting UUID will have its
variant and version number set according to <span class="target" id="index-2"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc4122.html"><strong>RFC 4122</strong></a>, overriding bits in the
given <em>hex</em>, <em>bytes</em>, <em>bytes_le</em>, <em>fields</em>, or <em>int</em>.</p>
<p>Comparison of UUID objects are made by way of comparing their
<a class="reference internal" href="#uuid.UUID.int" title="uuid.UUID.int"><code class="xref py py-attr docutils literal notranslate"><span class="pre">UUID.int</span></code></a> attributes. Comparison with a non-UUID object
raises a <a class="reference internal" href="exceptions.html#TypeError" title="TypeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">TypeError</span></code></a>.</p>
<p><code class="docutils literal notranslate"><span class="pre">str(uuid)</span></code> returns a string in the form
<code class="docutils literal notranslate"><span class="pre">12345678-1234-5678-1234-567812345678</span></code> where the 32 hexadecimal digits
represent the UUID.</p>
</dd></dl>
<p><a class="reference internal" href="#uuid.UUID" title="uuid.UUID"><code class="xref py py-class docutils literal notranslate"><span class="pre">UUID</span></code></a> instances have these read-only attributes:</p>
<dl class="attribute">
<dt id="uuid.UUID.bytes">
<code class="descclassname">UUID.</code><code class="descname">bytes</code><a class="headerlink" href="#uuid.UUID.bytes" title="Permalink to this definition"></a></dt>
<dd><p>The UUID as a 16-byte string (containing the six integer fields in big-endian
byte order).</p>
</dd></dl>
<dl class="attribute">
<dt id="uuid.UUID.bytes_le">
<code class="descclassname">UUID.</code><code class="descname">bytes_le</code><a class="headerlink" href="#uuid.UUID.bytes_le" title="Permalink to this definition"></a></dt>
<dd><p>The UUID as a 16-byte string (with <em>time_low</em>, <em>time_mid</em>, and <em>time_hi_version</em>
in little-endian byte order).</p>
</dd></dl>
<dl class="attribute">
<dt id="uuid.UUID.fields">
<code class="descclassname">UUID.</code><code class="descname">fields</code><a class="headerlink" href="#uuid.UUID.fields" title="Permalink to this definition"></a></dt>
<dd><p>A tuple of the six integer fields of the UUID, which are also available as six
individual attributes and two derived attributes:</p>
<table class="docutils align-center">
<colgroup>
<col style="width: 49%" />
<col style="width: 51%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Field</p></th>
<th class="head"><p>Meaning</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">time_low</span></code></p></td>
<td><p>the first 32 bits of the UUID</p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">time_mid</span></code></p></td>
<td><p>the next 16 bits of the UUID</p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">time_hi_version</span></code></p></td>
<td><p>the next 16 bits of the UUID</p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">clock_seq_hi_variant</span></code></p></td>
<td><p>the next 8 bits of the UUID</p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">clock_seq_low</span></code></p></td>
<td><p>the next 8 bits of the UUID</p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">node</span></code></p></td>
<td><p>the last 48 bits of the UUID</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="time.html#module-time" title="time: Time access and conversions."><code class="xref py py-attr docutils literal notranslate"><span class="pre">time</span></code></a></p></td>
<td><p>the 60-bit timestamp</p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">clock_seq</span></code></p></td>
<td><p>the 14-bit sequence number</p></td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="attribute">
<dt id="uuid.UUID.hex">
<code class="descclassname">UUID.</code><code class="descname">hex</code><a class="headerlink" href="#uuid.UUID.hex" title="Permalink to this definition"></a></dt>
<dd><p>The UUID as a 32-character hexadecimal string.</p>
</dd></dl>
<dl class="attribute">
<dt id="uuid.UUID.int">
<code class="descclassname">UUID.</code><code class="descname">int</code><a class="headerlink" href="#uuid.UUID.int" title="Permalink to this definition"></a></dt>
<dd><p>The UUID as a 128-bit integer.</p>
</dd></dl>
<dl class="attribute">
<dt id="uuid.UUID.urn">
<code class="descclassname">UUID.</code><code class="descname">urn</code><a class="headerlink" href="#uuid.UUID.urn" title="Permalink to this definition"></a></dt>
<dd><p>The UUID as a URN as specified in <span class="target" id="index-3"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc4122.html"><strong>RFC 4122</strong></a>.</p>
</dd></dl>
<dl class="attribute">
<dt id="uuid.UUID.variant">
<code class="descclassname">UUID.</code><code class="descname">variant</code><a class="headerlink" href="#uuid.UUID.variant" title="Permalink to this definition"></a></dt>
<dd><p>The UUID variant, which determines the internal layout of the UUID. This will be
one of the constants <a class="reference internal" href="#uuid.RESERVED_NCS" title="uuid.RESERVED_NCS"><code class="xref py py-const docutils literal notranslate"><span class="pre">RESERVED_NCS</span></code></a>, <a class="reference internal" href="#uuid.RFC_4122" title="uuid.RFC_4122"><code class="xref py py-const docutils literal notranslate"><span class="pre">RFC_4122</span></code></a>,
<a class="reference internal" href="#uuid.RESERVED_MICROSOFT" title="uuid.RESERVED_MICROSOFT"><code class="xref py py-const docutils literal notranslate"><span class="pre">RESERVED_MICROSOFT</span></code></a>, or <a class="reference internal" href="#uuid.RESERVED_FUTURE" title="uuid.RESERVED_FUTURE"><code class="xref py py-const docutils literal notranslate"><span class="pre">RESERVED_FUTURE</span></code></a>.</p>
</dd></dl>
<dl class="attribute">
<dt id="uuid.UUID.version">
<code class="descclassname">UUID.</code><code class="descname">version</code><a class="headerlink" href="#uuid.UUID.version" title="Permalink to this definition"></a></dt>
<dd><p>The UUID version number (1 through 5, meaningful only when the variant is
<a class="reference internal" href="#uuid.RFC_4122" title="uuid.RFC_4122"><code class="xref py py-const docutils literal notranslate"><span class="pre">RFC_4122</span></code></a>).</p>
</dd></dl>
<dl class="attribute">
<dt id="uuid.UUID.is_safe">
<code class="descclassname">UUID.</code><code class="descname">is_safe</code><a class="headerlink" href="#uuid.UUID.is_safe" title="Permalink to this definition"></a></dt>
<dd><p>An enumeration of <a class="reference internal" href="#uuid.SafeUUID" title="uuid.SafeUUID"><code class="xref py py-class docutils literal notranslate"><span class="pre">SafeUUID</span></code></a> which indicates whether the platform
generated the UUID in a multiprocessing-safe way.</p>
<div class="versionadded">
<p><span class="versionmodified added">New in version 3.7.</span></p>
</div>
</dd></dl>
<p>The <a class="reference internal" href="#module-uuid" title="uuid: UUID objects (universally unique identifiers) according to RFC 4122"><code class="xref py py-mod docutils literal notranslate"><span class="pre">uuid</span></code></a> module defines the following functions:</p>
<dl class="function">
<dt id="uuid.getnode">
<code class="descclassname">uuid.</code><code class="descname">getnode</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#uuid.getnode" title="Permalink to this definition"></a></dt>
<dd><p>Get the hardware address as a 48-bit positive integer. The first time this
runs, it may launch a separate program, which could be quite slow. If all
attempts to obtain the hardware address fail, we choose a random 48-bit
number with the multicast bit (least significant bit of the first octet)
set to 1 as recommended in <span class="target" id="index-4"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc4122.html"><strong>RFC 4122</strong></a>. “Hardware address” means the MAC
address of a network interface. On a machine with multiple network
interfaces, universally administered MAC addresses (i.e. where the second
least significant bit of the first octet is <em>unset</em>) will be preferred over
locally administered MAC addresses, but with no other ordering guarantees.</p>
<div class="versionchanged">
<p><span class="versionmodified changed">Changed in version 3.7: </span>Universally administered MAC addresses are preferred over locally
administered MAC addresses, since the former are guaranteed to be
globally unique, while the latter are not.</p>
</div>
</dd></dl>
<span class="target" id="index-5"></span><dl class="function">
<dt id="uuid.uuid1">
<code class="descclassname">uuid.</code><code class="descname">uuid1</code><span class="sig-paren">(</span><em>node=None</em>, <em>clock_seq=None</em><span class="sig-paren">)</span><a class="headerlink" href="#uuid.uuid1" title="Permalink to this definition"></a></dt>
<dd><p>Generate a UUID from a host ID, sequence number, and the current time. If <em>node</em>
is not given, <a class="reference internal" href="#uuid.getnode" title="uuid.getnode"><code class="xref py py-func docutils literal notranslate"><span class="pre">getnode()</span></code></a> is used to obtain the hardware address. If
<em>clock_seq</em> is given, it is used as the sequence number; otherwise a random
14-bit sequence number is chosen.</p>
</dd></dl>
<span class="target" id="index-6"></span><dl class="function">
<dt id="uuid.uuid3">
<code class="descclassname">uuid.</code><code class="descname">uuid3</code><span class="sig-paren">(</span><em>namespace</em>, <em>name</em><span class="sig-paren">)</span><a class="headerlink" href="#uuid.uuid3" title="Permalink to this definition"></a></dt>
<dd><p>Generate a UUID based on the MD5 hash of a namespace identifier (which is a
UUID) and a name (which is a string).</p>
</dd></dl>
<span class="target" id="index-7"></span><dl class="function">
<dt id="uuid.uuid4">
<code class="descclassname">uuid.</code><code class="descname">uuid4</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#uuid.uuid4" title="Permalink to this definition"></a></dt>
<dd><p>Generate a random UUID.</p>
</dd></dl>
<span class="target" id="index-8"></span><dl class="function">
<dt id="uuid.uuid5">
<code class="descclassname">uuid.</code><code class="descname">uuid5</code><span class="sig-paren">(</span><em>namespace</em>, <em>name</em><span class="sig-paren">)</span><a class="headerlink" href="#uuid.uuid5" title="Permalink to this definition"></a></dt>
<dd><p>Generate a UUID based on the SHA-1 hash of a namespace identifier (which is a
UUID) and a name (which is a string).</p>
</dd></dl>
<p id="index-9">The <a class="reference internal" href="#module-uuid" title="uuid: UUID objects (universally unique identifiers) according to RFC 4122"><code class="xref py py-mod docutils literal notranslate"><span class="pre">uuid</span></code></a> module defines the following namespace identifiers for use with
<a class="reference internal" href="#uuid.uuid3" title="uuid.uuid3"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid3()</span></code></a> or <a class="reference internal" href="#uuid.uuid5" title="uuid.uuid5"><code class="xref py py-func docutils literal notranslate"><span class="pre">uuid5()</span></code></a>.</p>
<dl class="data">
<dt id="uuid.NAMESPACE_DNS">
<code class="descclassname">uuid.</code><code class="descname">NAMESPACE_DNS</code><a class="headerlink" href="#uuid.NAMESPACE_DNS" title="Permalink to this definition"></a></dt>
<dd><p>When this namespace is specified, the <em>name</em> string is a fully-qualified domain
name.</p>
</dd></dl>
<dl class="data">
<dt id="uuid.NAMESPACE_URL">
<code class="descclassname">uuid.</code><code class="descname">NAMESPACE_URL</code><a class="headerlink" href="#uuid.NAMESPACE_URL" title="Permalink to this definition"></a></dt>
<dd><p>When this namespace is specified, the <em>name</em> string is a URL.</p>
</dd></dl>
<dl class="data">
<dt id="uuid.NAMESPACE_OID">
<code class="descclassname">uuid.</code><code class="descname">NAMESPACE_OID</code><a class="headerlink" href="#uuid.NAMESPACE_OID" title="Permalink to this definition"></a></dt>
<dd><p>When this namespace is specified, the <em>name</em> string is an ISO OID.</p>
</dd></dl>
<dl class="data">
<dt id="uuid.NAMESPACE_X500">
<code class="descclassname">uuid.</code><code class="descname">NAMESPACE_X500</code><a class="headerlink" href="#uuid.NAMESPACE_X500" title="Permalink to this definition"></a></dt>
<dd><p>When this namespace is specified, the <em>name</em> string is an X.500 DN in DER or a
text output format.</p>
</dd></dl>
<p>The <a class="reference internal" href="#module-uuid" title="uuid: UUID objects (universally unique identifiers) according to RFC 4122"><code class="xref py py-mod docutils literal notranslate"><span class="pre">uuid</span></code></a> module defines the following constants for the possible values
of the <code class="xref py py-attr docutils literal notranslate"><span class="pre">variant</span></code> attribute:</p>
<dl class="data">
<dt id="uuid.RESERVED_NCS">
<code class="descclassname">uuid.</code><code class="descname">RESERVED_NCS</code><a class="headerlink" href="#uuid.RESERVED_NCS" title="Permalink to this definition"></a></dt>
<dd><p>Reserved for NCS compatibility.</p>
</dd></dl>
<dl class="data">
<dt id="uuid.RFC_4122">
<code class="descclassname">uuid.</code><code class="descname">RFC_4122</code><a class="headerlink" href="#uuid.RFC_4122" title="Permalink to this definition"></a></dt>
<dd><p>Specifies the UUID layout given in <span class="target" id="index-10"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc4122.html"><strong>RFC 4122</strong></a>.</p>
</dd></dl>
<dl class="data">
<dt id="uuid.RESERVED_MICROSOFT">
<code class="descclassname">uuid.</code><code class="descname">RESERVED_MICROSOFT</code><a class="headerlink" href="#uuid.RESERVED_MICROSOFT" title="Permalink to this definition"></a></dt>
<dd><p>Reserved for Microsoft compatibility.</p>
</dd></dl>
<dl class="data">
<dt id="uuid.RESERVED_FUTURE">
<code class="descclassname">uuid.</code><code class="descname">RESERVED_FUTURE</code><a class="headerlink" href="#uuid.RESERVED_FUTURE" title="Permalink to this definition"></a></dt>
<dd><p>Reserved for future definition.</p>
</dd></dl>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<dl class="simple">
<dt><span class="target" id="index-11"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc4122.html"><strong>RFC 4122</strong></a> - A Universally Unique IDentifier (UUID) URN Namespace</dt><dd><p>This specification defines a Uniform Resource Name namespace for UUIDs, the
internal format of UUIDs, and methods of generating UUIDs.</p>
</dd>
</dl>
</div>
<div class="section" id="example">
<span id="uuid-example"></span><h2>Example<a class="headerlink" href="#example" title="Permalink to this headline"></a></h2>
<p>Here are some examples of typical usage of the <a class="reference internal" href="#module-uuid" title="uuid: UUID objects (universally unique identifiers) according to RFC 4122"><code class="xref py py-mod docutils literal notranslate"><span class="pre">uuid</span></code></a> module:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">uuid</span>
<span class="gp">&gt;&gt;&gt; </span><span class="c1"># make a UUID based on the host ID and current time</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid1</span><span class="p">()</span>
<span class="go">UUID(&#39;a8098c1a-f86e-11da-bd1a-00112444be1e&#39;)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="c1"># make a UUID using an MD5 hash of a namespace UUID and a name</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid3</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">NAMESPACE_DNS</span><span class="p">,</span> <span class="s1">&#39;python.org&#39;</span><span class="p">)</span>
<span class="go">UUID(&#39;6fa459ea-ee8a-3ca4-894e-db77e160355e&#39;)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="c1"># make a random UUID</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid4</span><span class="p">()</span>
<span class="go">UUID(&#39;16fd2706-8baf-433b-82eb-8c7fada847da&#39;)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="c1"># make a UUID using a SHA-1 hash of a namespace UUID and a name</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid5</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">NAMESPACE_DNS</span><span class="p">,</span> <span class="s1">&#39;python.org&#39;</span><span class="p">)</span>
<span class="go">UUID(&#39;886313e1-3b8a-5372-9b90-0c9aee199e5d&#39;)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="c1"># make a UUID from a string of hex digits (braces and hyphens ignored)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">x</span> <span class="o">=</span> <span class="n">uuid</span><span class="o">.</span><span class="n">UUID</span><span class="p">(</span><span class="s1">&#39;{00010203-0405-0607-0809-0a0b0c0d0e0f}&#39;</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="c1"># convert a UUID to a string of hex digits in standard form</span>
<span class="gp">&gt;&gt;&gt; </span><span class="nb">str</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
<span class="go">&#39;00010203-0405-0607-0809-0a0b0c0d0e0f&#39;</span>
<span class="gp">&gt;&gt;&gt; </span><span class="c1"># get the raw 16 bytes of the UUID</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">x</span><span class="o">.</span><span class="n">bytes</span>
<span class="go">b&#39;\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f&#39;</span>
<span class="gp">&gt;&gt;&gt; </span><span class="c1"># make a UUID from a 16-byte string</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">uuid</span><span class="o">.</span><span class="n">UUID</span><span class="p">(</span><span class="nb">bytes</span><span class="o">=</span><span class="n">x</span><span class="o">.</span><span class="n">bytes</span><span class="p">)</span>
<span class="go">UUID(&#39;00010203-0405-0607-0809-0a0b0c0d0e0f&#39;)</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="../contents.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">uuid</span></code> — UUID objects according to <strong>RFC 4122</strong></a><ul>
<li><a class="reference internal" href="#example">Example</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="telnetlib.html"
title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">telnetlib</span></code> — Telnet client</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="socketserver.html"
title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">socketserver</span></code> — A framework for network servers</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/uuid.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="socketserver.html" title="socketserver — A framework for network servers"
>next</a> |</li>
<li class="right" >
<a href="telnetlib.html" title="telnetlib — Telnet client"
>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="nav-item nav-item-2"><a href="internet.html" >Internet Protocols and Support</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>