<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://192.168.180.206:8001/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://192.168.180.206:8001/feed.php">
        <title>wiki.niziak.spox.org - programming:python:lib</title>
        <description></description>
        <link>http://192.168.180.206:8001/</link>
        <image rdf:resource="http://192.168.180.206:8001/_media/wiki:dokuwiki.svg" />
       <dc:date>2026-05-18T08:59:10+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:python:lib:cli_output?rev=1777974441&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:python:lib:contextlib?rev=1706164153&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:python:lib:ctk?rev=1733513795&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:python:lib:re?rev=1706164217&amp;do=diff"/>
                <rdf:li rdf:resource="http://192.168.180.206:8001/programming:python:lib:tkinter?rev=1733295282&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://192.168.180.206:8001/_media/wiki:dokuwiki.svg">
        <title>wiki.niziak.spox.org</title>
        <link>http://192.168.180.206:8001/</link>
        <url>http://192.168.180.206:8001/_media/wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="http://192.168.180.206:8001/programming:python:lib:cli_output?rev=1777974441&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T09:47:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CLI output parsing</title>
        <link>http://192.168.180.206:8001/programming:python:lib:cli_output?rev=1777974441&amp;do=diff</link>
        <description>CLI output parsing

	*  TextFSM
		*  Lots of ready templates for parsing network related CLI: &lt;https://github.com/networktocode/ntc-templates/blob/master/ntc_templates/templates&gt;
		*  &lt;https://pypi.org/project/textfsm/&gt;
		*  &lt;https://pyneng.readthedocs.io/en/latest/book/21_textfsm/textfsm_examples.html&gt;

	*  Template Text Parser (TTP)
		*  &lt;https://github.com/dmulyalin/ttp&gt;

	*  Cisco&#039;s Genie Parser
		*  Contains lots of ready parsers for common CLIs
		*  Dictionary Query: &lt;https://pubhub.devnet…</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:python:lib:contextlib?rev=1706164153&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-25T06:29:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>contextlib</title>
        <link>http://192.168.180.206:8001/programming:python:lib:contextlib?rev=1706164153&amp;do=diff</link>
        <description>contextlib

Catch stdout/stderr from 3rd party modules:


from contextlib import redirect_stdout, redirect_stderr
from io import StringIO

with redirect_stdout(StringIO()) as tmp_out:
    with redirect_stderr(StringIO()) as tmp_err:
        esptool.main(command)
out = tmp_out.getvalue()
err = tmp_err.getvalue()</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:python:lib:ctk?rev=1733513795&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-12-06T19:36:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CTk</title>
        <link>http://192.168.180.206:8001/programming:python:lib:ctk?rev=1733513795&amp;do=diff</link>
        <description>CTk

CustomTkinter

&lt;https://customtkinter.tomschimansky.com/&gt;
&lt;https://customtkinter.tomschimansky.com/documentation/widgets&gt;</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:python:lib:re?rev=1706164217&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-25T06:30:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>re</title>
        <link>http://192.168.180.206:8001/programming:python:lib:re?rev=1706164217&amp;do=diff</link>
        <description>re

Find MAC address in multiline output


from re import search, MULTILINE

match = search(r&quot;(?:[0-9A-Fa-f]{2}[:-]){5}(?:[0-9A-Fa-f]{2})&quot;, out, MULTILINE)
if match:
    return match.group(0)</description>
    </item>
    <item rdf:about="http://192.168.180.206:8001/programming:python:lib:tkinter?rev=1733295282&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-12-04T06:54:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tkinter</title>
        <link>http://192.168.180.206:8001/programming:python:lib:tkinter?rev=1733295282&amp;do=diff</link>
        <description>tkinter

tkinter — Python interface to Tcl/Tk</description>
    </item>
</rdf:RDF>
