文件操作 - netaddr-module.html
返回文件管理
返回主菜单
删除本文件
文件: /usr/share/doc/python-netaddr-0.7.5/api/netaddr-module.html
编辑文件内容
<?xml version="1.0" encoding="ascii"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>netaddr</title> <link rel="stylesheet" href="epydoc.css" type="text/css" /> <script type="text/javascript" src="epydoc.js"></script> </head> <body bgcolor="white" text="black" link="blue" vlink="#204080" alink="#204080"> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Home link --> <th bgcolor="#70b0f0" class="navbar-select" > Home </th> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <!-- Project homepage --> <th class="navbar" align="right" width="100%"> <table border="0" cellpadding="0" cellspacing="0"> <tr><th class="navbar" align="center" ><a class="navbar" target="_top" href="http://github.com/drkjam/netaddr/">Project Homepage</a></th> </tr></table></th> </tr> </table> <table width="100%" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="100%"> <span class="breadcrumbs"> Package netaddr </span> </td> <td> <table cellpadding="0" cellspacing="0"> <!-- hide/show private --> <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" onclick="toggle_private();">hide private</a>]</span></td></tr> <tr><td align="right"><span class="options" >[<a href="frames.html" target="_top">frames</a >] | <a href="netaddr-module.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <!-- ==================== PACKAGE DESCRIPTION ==================== --> <h1 class="epydoc">Package netaddr</h1><p class="nomargin-top"></p> <p>A Python library for manipulating IP and EUI network addresses.</p> <hr /> <div class="fields"> <p><strong>Version:</strong> 0.7.5 </p> </div><!-- ==================== SUBMODULES ==================== --> <a name="section-Submodules"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Submodules</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-Submodules" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr><td class="summary"> <ul class="nomargin"> <li class="private"> <strong class="uidlink"><a href="netaddr.compat-module.html" onclick="show_private();">netaddr.compat</a></strong>: <em class="summary">Compatibility wrappers providing uniform behaviour for Python code required to run under both Python 2.x and 3.x.</em> </li> <li class="private"> <strong class="uidlink"><a href="netaddr.core-module.html" onclick="show_private();">netaddr.core</a></strong>: <em class="summary">Common code shared between various netaddr sub modules</em> </li> <li class="private"> <strong class="uidlink"><a href="netaddr.eui-module.html" onclick="show_private();">netaddr.eui</a></strong>: <em class="summary">Classes and functions for dealing with MAC addresses, EUI-48, EUI-64, OUI, IAB identifiers.</em> <ul class="private"> <li> <strong class="uidlink"><a href="netaddr.eui.ieee-module.html">netaddr.eui.ieee</a></strong>: <em class="summary">Provides access to public OUI and IAB registration data published by the IEEE.</em> </li> </ul> </li> <li class="private"> <strong class="uidlink"><a href="netaddr.fbsocket-module.html" onclick="show_private();">netaddr.fbsocket</a></strong>: <em class="summary">Fallback routines for Python's standard library socket module</em> </li> <li class="private"> <strong class="uidlink"><a href="netaddr.ip-module.html" onclick="show_private();">netaddr.ip</a></strong>: <em class="summary">Routines for IPv4 and IPv6 addresses, subnets and ranges.</em> <ul class="private"> <li> <strong class="uidlink"><a href="netaddr.ip.glob-module.html">netaddr.ip.glob</a></strong>: <em class="summary">Routines and classes for supporting and expressing IP address ranges using a glob style syntax.</em> </li> <li> <strong class="uidlink"><a href="netaddr.ip.iana-module.html">netaddr.ip.iana</a></strong>: <em class="summary">Routines for accessing data published by IANA (Internet Assigned Numbers Authority).</em> </li> <li> <strong class="uidlink"><a href="netaddr.ip.intset-module.html">netaddr.ip.intset</a></strong>: <em class="summary">Immutable integer set type.</em> </li> <li> <strong class="uidlink"><a href="netaddr.ip.nmap-module.html">netaddr.ip.nmap</a></strong>: <em class="summary">Routines for dealing with nmap-style IPv4 address ranges.</em> </li> <li> <strong class="uidlink"><a href="netaddr.ip.rfc1924-module.html">netaddr.ip.rfc1924</a></strong>: <em class="summary">A basic implementation of RFC 1924 ;-)</em> </li> <li> <strong class="uidlink"><a href="netaddr.ip.sets-module.html">netaddr.ip.sets</a></strong>: <em class="summary">Set based operations for IP addresses and subnets.</em> </li> </ul> </li> <li class="private"> <strong class="uidlink"><a href="netaddr.strategy-module.html" onclick="show_private();">netaddr.strategy</a></strong>: <em class="summary">Shared logic for various address types.</em> <ul class="private"> <li> <strong class="uidlink"><a href="netaddr.strategy.eui48-module.html">netaddr.strategy.eui48</a></strong>: <em class="summary">IEEE 48-bit EUI (MAC address) logic.</em> </li> <li> <strong class="uidlink"><a href="netaddr.strategy.eui64-module.html">netaddr.strategy.eui64</a></strong>: <em class="summary">IEEE 64-bit EUI (Extended Unique Indentifier) logic.</em> </li> <li> <strong class="uidlink"><a href="netaddr.strategy.ipv4-module.html">netaddr.strategy.ipv4</a></strong>: <em class="summary">IPv4 address logic.</em> </li> <li> <strong class="uidlink"><a href="netaddr.strategy.ipv6-module.html">netaddr.strategy.ipv6</a></strong>: <em class="summary">IPv6 address logic.</em> </li> </ul> </li> <li> <strong class="uidlink"><a href="netaddr.tests-module.html">netaddr.tests</a></strong>: <em class="summary">Runs all netaddr unit tests.</em> </li> </ul></td></tr> </table> <br /> <!-- ==================== CLASSES ==================== --> <a name="section-Classes"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Classes</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-Classes" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.core.AddrConversionError-class.html" class="summary-name">AddrConversionError</a><br /> An Exception indicating a failure to convert between address types or notations. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.core.AddrFormatError-class.html" class="summary-name">AddrFormatError</a><br /> An Exception indicating a network address is not correctly formatted. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.core.NotRegisteredError-class.html" class="summary-name">NotRegisteredError</a><br /> An Exception indicating that an OUI or IAB was not found in the IEEE Registry. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.ip.IPAddress-class.html" class="summary-name">IPAddress</a><br /> An individual IPv4 or IPv6 address without a net mask or subnet prefix. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.ip.IPNetwork-class.html" class="summary-name">IPNetwork</a><br /> An IPv4 or IPv6 network or subnet. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.ip.IPRange-class.html" class="summary-name">IPRange</a><br /> An arbitrary IPv4 or IPv6 address range. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.ip.sets.IPSet-class.html" class="summary-name">IPSet</a><br /> Represents an unordered collection (set) of unique IP addresses and subnets. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.ip.glob.IPGlob-class.html" class="summary-name">IPGlob</a><br /> Represents an IP address range using a glob-style syntax (x.x.x-y.*). </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.eui.EUI-class.html" class="summary-name">EUI</a><br /> An IEEE EUI (Extended Unique Identifier). </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.eui.IAB-class.html" class="summary-name">IAB</a><br /> An individual IEEE IAB (Individual Address Block) identifier. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.eui.OUI-class.html" class="summary-name">OUI</a><br /> An individual IEEE OUI (Organisationally Unique Identifier). </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.strategy.ipv6.ipv6_compact-class.html" class="summary-name">ipv6_compact</a><br /> An IPv6 dialect class - compact form. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.strategy.ipv6.ipv6_full-class.html" class="summary-name">ipv6_full</a><br /> An IPv6 dialect class - 'all zeroes' form. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.strategy.ipv6.ipv6_verbose-class.html" class="summary-name">ipv6_verbose</a><br /> An IPv6 dialect class - extra wide 'all zeroes' form. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.strategy.eui48.mac_eui48-class.html" class="summary-name">mac_eui48</a><br /> A standard IEEE EUI-48 dialect class. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.strategy.eui48.mac_unix-class.html" class="summary-name">mac_unix</a><br /> A UNIX-style MAC address dialect class. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.strategy.eui48.mac_cisco-class.html" class="summary-name">mac_cisco</a><br /> A Cisco 'triple hextet' MAC address dialect class. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.strategy.eui48.mac_bare-class.html" class="summary-name">mac_bare</a><br /> A bare (no delimiters) MAC address dialect class. </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a href="netaddr.strategy.eui48.mac_pgsql-class.html" class="summary-name">mac_pgsql</a><br /> A PostgreSQL style (2 x 24-bit words) MAC address dialect class. </td> </tr> </table> <!-- ==================== FUNCTIONS ==================== --> <a name="section-Functions"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Functions</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-Functions" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#all_matching_cidrs" class="summary-sig-name">all_matching_cidrs</a>(<span class="summary-sig-arg">ip</span>, <span class="summary-sig-arg">cidrs</span>)</span><br /> Matches an IP address or subnet against a given sequence of IP addresses and subnets.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#cidr_abbrev_to_verbose" class="summary-sig-name">cidr_abbrev_to_verbose</a>(<span class="summary-sig-arg">abbrev_cidr</span>)</span><br /> A function that converts abbreviated IPv4 CIDRs to their more verbose equivalent.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#cidr_exclude" class="summary-sig-name">cidr_exclude</a>(<span class="summary-sig-arg">target</span>, <span class="summary-sig-arg">exclude</span>)</span><br /> Removes an exclude IP address or subnet from target IP subnet.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#cidr_merge" class="summary-sig-name">cidr_merge</a>(<span class="summary-sig-arg">ip_addrs</span>)</span><br /> A function that accepts an iterable sequence of IP addresses and subnets merging them into the smallest possible list of CIDRs.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#iprange_to_cidrs" class="summary-sig-name">iprange_to_cidrs</a>(<span class="summary-sig-arg">start</span>, <span class="summary-sig-arg">end</span>)</span><br /> A function that accepts an arbitrary start and end IP address or subnet and returns a list of CIDR subnets that fit exactly between the boundaries of the two with no overlap.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#iter_iprange" class="summary-sig-name">iter_iprange</a>(<span class="summary-sig-arg">start</span>, <span class="summary-sig-arg">end</span>, <span class="summary-sig-arg">step</span>=<span class="summary-sig-default">1</span>)</span><br /> A generator that produces IPAddress objects between an arbitrary start and stop IP address with intervals of step between them.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#iter_unique_ips" class="summary-sig-name">iter_unique_ips</a>(<span class="summary-sig-arg">*args</span>)</span><br /> Returns: A generator that flattens out IP subnets, yielding unique individual IP addresses (no duplicates).</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#largest_matching_cidr" class="summary-sig-name">largest_matching_cidr</a>(<span class="summary-sig-arg">ip</span>, <span class="summary-sig-arg">cidrs</span>)</span><br /> Matches an IP address or subnet against a given sequence of IP addresses and subnets.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#smallest_matching_cidr" class="summary-sig-name">smallest_matching_cidr</a>(<span class="summary-sig-arg">ip</span>, <span class="summary-sig-arg">cidrs</span>)</span><br /> Matches an IP address or subnet against a given sequence of IP addresses and subnets.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#spanning_cidr" class="summary-sig-name">spanning_cidr</a>(<span class="summary-sig-arg">ip_addrs</span>)</span><br /> Function that accepts a sequence of IP addresses and subnets returning a single <a href="netaddr.ip.IPNetwork-class.html" class="link">IPNetwork</a> subnet that is large enough to span the lower and upper bound IP addresses with a possible overlap on either end.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#cidr_to_glob" class="summary-sig-name">cidr_to_glob</a>(<span class="summary-sig-arg">cidr</span>)</span><br /> A function that accepts an IP subnet in a glob-style format and returns a list of CIDR subnets that exactly matches the specified glob.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#glob_to_cidrs" class="summary-sig-name">glob_to_cidrs</a>(<span class="summary-sig-arg">ipglob</span>)</span><br /> A function that accepts a glob-style IP range and returns a list of one or more IP CIDRs that exactly matches it.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#glob_to_iprange" class="summary-sig-name">glob_to_iprange</a>(<span class="summary-sig-arg">ipglob</span>)</span><br /> A function that accepts a glob-style IP range and returns the equivalent IP range.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#glob_to_iptuple" class="summary-sig-name">glob_to_iptuple</a>(<span class="summary-sig-arg">ipglob</span>)</span><br /> A function that accepts a glob-style IP range and returns the component lower and upper bound IP address.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#iprange_to_globs" class="summary-sig-name">iprange_to_globs</a>(<span class="summary-sig-arg">start</span>, <span class="summary-sig-arg">end</span>)</span><br /> A function that accepts an arbitrary start and end IP address or subnet and returns one or more glob-style IP ranges.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#valid_glob" class="summary-sig-name">valid_glob</a>(<span class="summary-sig-arg">ipglob</span>)</span><br /> Returns: <code>True</code> if IP range glob is valid, <code>False</code> otherwise.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#valid_nmap_range" class="summary-sig-name">valid_nmap_range</a>(<span class="summary-sig-arg">iprange</span>)</span><br /> Returns: <code>True</code> if IP range is valid, <code>False</code> otherwise.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#iter_nmap_range" class="summary-sig-name">iter_nmap_range</a>(<span class="summary-sig-arg">iprange</span>)</span><br /> The nmap security tool supports a custom type of IPv4 range using multiple hyphenated octets.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="base85_to_ipv6"></a><span class="summary-sig-name">base85_to_ipv6</span>(<span class="summary-sig-arg">addr</span>)</span><br /> Convert a base 85 IPv6 address to its hexadecimal format.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="ipv6_to_base85"></a><span class="summary-sig-name">ipv6_to_base85</span>(<span class="summary-sig-arg">addr</span>)</span><br /> Convert a regular IPv6 address to base 85.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#valid_ipv4" class="summary-sig-name">valid_ipv4</a>(<span class="summary-sig-arg">addr</span>, <span class="summary-sig-arg">flags</span>=<span class="summary-sig-default">0</span>)</span><br /> Returns: <code>True</code> if IPv4 address is valid, <code>False</code> otherwise.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#valid_ipv6" class="summary-sig-name">valid_ipv6</a>(<span class="summary-sig-arg">addr</span>, <span class="summary-sig-arg">flags</span>=<span class="summary-sig-default">0</span>)</span><br /> Returns: <code>True</code> if IPv6 address is valid, <code>False</code> otherwise.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="netaddr-module.html#valid_mac" class="summary-sig-name">valid_mac</a>(<span class="summary-sig-arg">addr</span>)</span><br /> Returns: <code>True</code> if MAC address string is valid, <code>False</code> otherwise.</td> <td align="right" valign="top"> </td> </tr> </table> </td> </tr> </table> <!-- ==================== VARIABLES ==================== --> <a name="section-Variables"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Variables</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-Variables" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr class="private"> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a name="VERSION"></a><span class="summary-name">VERSION</span> = <code title="(0, 7, 5)"><code class="variable-group">(</code>0<code class="variable-op">, </code>7<code class="variable-op">, </code>5<code class="variable-group">)</code></code> </td> </tr> <tr class="private"> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a name="STATUS"></a><span class="summary-name">STATUS</span> = <code title="''"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></code> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a name="ZEROFILL"></a><span class="summary-name">ZEROFILL</span> = <code title="2">2</code> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a name="Z"></a><span class="summary-name">Z</span> = <code title="2">2</code> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a name="INET_PTON"></a><span class="summary-name">INET_PTON</span> = <code title="1">1</code> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a name="P"></a><span class="summary-name">P</span> = <code title="1">1</code> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a name="NOHOST"></a><span class="summary-name">NOHOST</span> = <code title="4">4</code> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a name="N"></a><span class="summary-name">N</span> = <code title="4">4</code> </td> </tr> <tr class="private"> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'netaddr'"><code class="variable-quote">'</code><code class="variable-string">netaddr</code><code class="variable-quote">'</code></code> </td> </tr> </table> <!-- ==================== FUNCTION DETAILS ==================== --> <a name="section-FunctionDetails"></a> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Function Details</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-FunctionDetails" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> </table> <a name="all_matching_cidrs"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">all_matching_cidrs</span>(<span class="sig-arg">ip</span>, <span class="sig-arg">cidrs</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>Matches an IP address or subnet against a given sequence of IP addresses and subnets.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>ip</code></strong> - a single IP address or subnet.</li> <li><strong class="pname"><code>cidrs</code></strong> - a sequence of IP addresses and/or subnets.</li> </ul></dd> <dt>Returns:</dt> <dd>all matching IPAddress and/or IPNetwork objects from the provided sequence, an empty list if there was no match.</dd> </dl> </td></tr></table> </div> <a name="cidr_abbrev_to_verbose"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">cidr_abbrev_to_verbose</span>(<span class="sig-arg">abbrev_cidr</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>A function that converts abbreviated IPv4 CIDRs to their more verbose equivalent.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>abbrev_cidr</code></strong> - an abbreviated CIDR. <p>Uses the old-style classful IP address rules to decide on a default subnet prefix if one is not explicitly provided.</p> <p>Only supports IPv4 addresses.</p> <p>Examples :</p> <pre class="literalblock"> 10 - 10.0.0.0/8 10/16 - 10.0.0.0/16 128 - 128.0.0.0/16 128/8 - 128.0.0.0/8 192.168 - 192.168.0.0/16 </pre></li> </ul></dd> <dt>Returns:</dt> <dd>A verbose CIDR from an abbreviated CIDR or old-style classful network address, The original value if it was not recognised as a supported abbreviation.</dd> </dl> </td></tr></table> </div> <a name="cidr_exclude"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">cidr_exclude</span>(<span class="sig-arg">target</span>, <span class="sig-arg">exclude</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>Removes an exclude IP address or subnet from target IP subnet.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>target</code></strong> - the target IP address or subnet to be divided up.</li> <li><strong class="pname"><code>exclude</code></strong> - the IP address or subnet to be removed from target.</li> </ul></dd> <dt>Returns:</dt> <dd>list of <a href="netaddr.ip.IPNetwork-class.html" class="link">IPNetwork</a> objects remaining after exclusion.</dd> </dl> </td></tr></table> </div> <a name="cidr_merge"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">cidr_merge</span>(<span class="sig-arg">ip_addrs</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>A function that accepts an iterable sequence of IP addresses and subnets merging them into the smallest possible list of CIDRs. It merges adjacent subnets where possible, those contained within others and also removes any duplicates.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>ip_addrs</code></strong> - an iterable sequence of IP addresses and subnets.</li> </ul></dd> <dt>Returns:</dt> <dd>a summarized list of <a href="netaddr.ip.IPNetwork-class.html" class="link">IPNetwork</a> objects.</dd> </dl> </td></tr></table> </div> <a name="iprange_to_cidrs"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">iprange_to_cidrs</span>(<span class="sig-arg">start</span>, <span class="sig-arg">end</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>A function that accepts an arbitrary start and end IP address or subnet and returns a list of CIDR subnets that fit exactly between the boundaries of the two with no overlap.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>start</code></strong> - the start IP address or subnet.</li> <li><strong class="pname"><code>end</code></strong> - the end IP address or subnet.</li> </ul></dd> <dt>Returns:</dt> <dd>a list of one or more IP addresses and subnets.</dd> </dl> </td></tr></table> </div> <a name="iter_iprange"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">iter_iprange</span>(<span class="sig-arg">start</span>, <span class="sig-arg">end</span>, <span class="sig-arg">step</span>=<span class="sig-default">1</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>A generator that produces IPAddress objects between an arbitrary start and stop IP address with intervals of step between them. Sequences produce are inclusive of boundary IPs.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>start</code></strong> - start IP address.</li> <li><strong class="pname"><code>end</code></strong> - end IP address.</li> <li><strong class="pname"><code>step</code></strong> - (optional) size of step between IP addresses. Default: 1</li> </ul></dd> <dt>Returns:</dt> <dd>an iterator of one or more <a href="netaddr.ip.IPAddress-class.html" class="link">IPAddress</a> objects.</dd> </dl> </td></tr></table> </div> <a name="iter_unique_ips"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">iter_unique_ips</span>(<span class="sig-arg">*args</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>args</code></strong> - A list of IP addresses and subnets passed in as arguments.</li> </ul></dd> <dt>Returns:</dt> <dd>A generator that flattens out IP subnets, yielding unique individual IP addresses (no duplicates).</dd> </dl> </td></tr></table> </div> <a name="largest_matching_cidr"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">largest_matching_cidr</span>(<span class="sig-arg">ip</span>, <span class="sig-arg">cidrs</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>Matches an IP address or subnet against a given sequence of IP addresses and subnets.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>ip</code></strong> - a single IP address or subnet.</li> <li><strong class="pname"><code>cidrs</code></strong> - a sequence of IP addresses and/or subnets.</li> </ul></dd> <dt>Returns:</dt> <dd>the largest (least specific) matching IPAddress or IPNetwork object from the provided sequence, None if there was no match.</dd> </dl> </td></tr></table> </div> <a name="smallest_matching_cidr"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">smallest_matching_cidr</span>(<span class="sig-arg">ip</span>, <span class="sig-arg">cidrs</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>Matches an IP address or subnet against a given sequence of IP addresses and subnets.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>ip</code></strong> - a single IP address or subnet.</li> <li><strong class="pname"><code>cidrs</code></strong> - a sequence of IP addresses and/or subnets.</li> </ul></dd> <dt>Returns:</dt> <dd>the smallest (most specific) matching IPAddress or IPNetwork object from the provided sequence, None if there was no match.</dd> </dl> </td></tr></table> </div> <a name="spanning_cidr"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">spanning_cidr</span>(<span class="sig-arg">ip_addrs</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>Function that accepts a sequence of IP addresses and subnets returning a single <a href="netaddr.ip.IPNetwork-class.html" class="link">IPNetwork</a> subnet that is large enough to span the lower and upper bound IP addresses with a possible overlap on either end.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>ip_addrs</code></strong> - sequence of IP addresses and subnets.</li> </ul></dd> <dt>Returns:</dt> <dd>a single spanning <a href="netaddr.ip.IPNetwork-class.html" class="link">IPNetwork</a> subnet.</dd> </dl> </td></tr></table> </div> <a name="cidr_to_glob"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">cidr_to_glob</span>(<span class="sig-arg">cidr</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>A function that accepts an IP subnet in a glob-style format and returns a list of CIDR subnets that exactly matches the specified glob.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>cidr</code></strong> - an IP object CIDR subnet.</li> </ul></dd> <dt>Returns:</dt> <dd>a list of one or more IP addresses and subnets.</dd> </dl> </td></tr></table> </div> <a name="glob_to_cidrs"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">glob_to_cidrs</span>(<span class="sig-arg">ipglob</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>A function that accepts a glob-style IP range and returns a list of one or more IP CIDRs that exactly matches it.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>ipglob</code></strong> - an IP address range in a glob-style format.</li> </ul></dd> <dt>Returns:</dt> <dd>a list of one or more IP objects.</dd> </dl> </td></tr></table> </div> <a name="glob_to_iprange"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">glob_to_iprange</span>(<span class="sig-arg">ipglob</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>A function that accepts a glob-style IP range and returns the equivalent IP range.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>ipglob</code></strong> - an IP address range in a glob-style format.</li> </ul></dd> <dt>Returns:</dt> <dd>an IPRange object.</dd> </dl> </td></tr></table> </div> <a name="glob_to_iptuple"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">glob_to_iptuple</span>(<span class="sig-arg">ipglob</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>A function that accepts a glob-style IP range and returns the component lower and upper bound IP address.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>ipglob</code></strong> - an IP address range in a glob-style format.</li> </ul></dd> <dt>Returns:</dt> <dd>a tuple contain lower and upper bound IP objects.</dd> </dl> </td></tr></table> </div> <a name="iprange_to_globs"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">iprange_to_globs</span>(<span class="sig-arg">start</span>, <span class="sig-arg">end</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>A function that accepts an arbitrary start and end IP address or subnet and returns one or more glob-style IP ranges.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>start</code></strong> - the start IP address or subnet.</li> <li><strong class="pname"><code>end</code></strong> - the end IP address or subnet.</li> </ul></dd> <dt>Returns:</dt> <dd>a list containing one or more IP globs.</dd> </dl> </td></tr></table> </div> <a name="valid_glob"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">valid_glob</span>(<span class="sig-arg">ipglob</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>ipglob</code></strong> - An IP address range in a glob-style format.</li> </ul></dd> <dt>Returns:</dt> <dd><code>True</code> if IP range glob is valid, <code>False</code> otherwise.</dd> </dl> </td></tr></table> </div> <a name="valid_nmap_range"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">valid_nmap_range</span>(<span class="sig-arg">iprange</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>iprange</code></strong> - an nmap-style IP address range.</li> </ul></dd> <dt>Returns:</dt> <dd><code>True</code> if IP range is valid, <code>False</code> otherwise.</dd> </dl> </td></tr></table> </div> <a name="iter_nmap_range"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">iter_nmap_range</span>(<span class="sig-arg">iprange</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <p>The nmap security tool supports a custom type of IPv4 range using multiple hyphenated octets. This generator provides iterators yielding IP addresses according to this rule set.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>iprange</code></strong> - an nmap-style IP address range.</li> </ul></dd> <dt>Returns:</dt> <dd>an iterator producing IPAddress objects for each IP in the range.</dd> </dl> </td></tr></table> </div> <a name="valid_ipv4"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">valid_ipv4</span>(<span class="sig-arg">addr</span>, <span class="sig-arg">flags</span>=<span class="sig-default">0</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>addr</code></strong> - An IPv4 address in presentation (string) format.</li> <li><strong class="pname"><code>flags</code></strong> - decides which rules are applied to the interpretation of the addr value. Supported constants are INET_PTON and ZEROFILL. See the netaddr.core docs for details.</li> </ul></dd> <dt>Returns:</dt> <dd><code>True</code> if IPv4 address is valid, <code>False</code> otherwise.</dd> </dl> </td></tr></table> </div> <a name="valid_ipv6"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">valid_ipv6</span>(<span class="sig-arg">addr</span>, <span class="sig-arg">flags</span>=<span class="sig-default">0</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>addr</code></strong> - An IPv6 address in presentation (string) format.</li> <li><strong class="pname"><code>flags</code></strong> - decides which rules are applied to the interpretation of the addr value. Future use - currently has no effect.</li> </ul></dd> <dt>Returns:</dt> <dd><code>True</code> if IPv6 address is valid, <code>False</code> otherwise.</dd> </dl> </td></tr></table> </div> <a name="valid_mac"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">valid_mac</span>(<span class="sig-arg">addr</span>)</span> </h3> </td><td align="right" valign="top" > </td> </tr></table> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>addr</code></strong> - An IEEE EUI-48 (MAC) address in string form.</li> </ul></dd> <dt>Returns:</dt> <dd><code>True</code> if MAC address string is valid, <code>False</code> otherwise.</dd> </dl> </td></tr></table> </div> <br /> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Home link --> <th bgcolor="#70b0f0" class="navbar-select" > Home </th> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <!-- Project homepage --> <th class="navbar" align="right" width="100%"> <table border="0" cellpadding="0" cellspacing="0"> <tr><th class="navbar" align="center" ><a class="navbar" target="_top" href="http://github.com/drkjam/netaddr/">Project Homepage</a></th> </tr></table></th> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%%"> <tr> <td align="left" class="footer"> Generated by Epydoc 3.0.1 on Tue Oct 5 23:06:19 2010 </td> <td align="right" class="footer"> <a target="mainFrame" href="http://epydoc.sourceforge.net" >http://epydoc.sourceforge.net</a> </td> </tr> </table> <script type="text/javascript"> <!-- // Private objects are initially displayed (because if // javascript is turned off then we want them to be // visible); but by default, we want to hide them. So hide // them unless we have a cookie that says to show them. checkCookie(); // --> </script> </body> </html>
修改文件时间
将文件时间修改为当前时间的前一年
删除文件