<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://dindoun.lautre.net/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>pense-b&#234;te de bruno sanchiz</title>
	<link>https://dindoun.lautre.net/</link>
	<description></description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://dindoun.lautre.net/spip.php?id_mot=11&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>pense-b&#234;te de bruno sanchiz</title>
		<url>https://dindoun.lautre.net/local/cache-vignettes/L128xH128/favicon-68ee1.png?1762285646</url>
		<link>https://dindoun.lautre.net/</link>
		<height>128</height>
		<width>128</width>
	</image>



<item xml:lang="fr">
		<title>python en virtuel</title>
		<link>https://dindoun.lautre.net/spip.php?article530</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article530</guid>
		<dc:date>2023-07-11T13:37:34Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>bruno</dc:creator>


		<dc:subject>python</dc:subject>
		<dc:subject>python3</dc:subject>

		<description>
&lt;p&gt;Pour permettre l'utilisatio nde python dans toutes les situations, il a &#233;t&#233; d&#233;cid&#233; de metrte en avant la virtualisation : &lt;br class='autobr' /&gt;
https://peps.python.org/pep-0668/ &lt;br class='autobr' /&gt;
et donc on utilise comme &#231;a : python3 -m venv /tmp/venv ; source /tmp/venv/bin/activate ; pip install &#8212;upgrade pip ; pip3 install matplotlib numpy opencv-python opencv-contrib-python tensorflow &lt;br class='autobr' /&gt;
erreurs : Could not build wheels for dlib, erreur apparue pour installer face-recognition , d'apr&#232;s (&#8230;)&lt;/p&gt;


-
&lt;a href="https://dindoun.lautre.net/spip.php?rubrique45" rel="directory"&gt;python&lt;/a&gt;

/ 
&lt;a href="https://dindoun.lautre.net/spip.php?mot11" rel="tag"&gt;python&lt;/a&gt;, 
&lt;a href="https://dindoun.lautre.net/spip.php?mot141" rel="tag"&gt;python3&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Pour permettre l'utilisatio nde python dans toutes les situations, il a &#233;t&#233; d&#233;cid&#233; de metrte en avant la virtualisation :&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;https://peps.python.org/pep-0668/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://peps.python.org/pep-0668/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;et donc on utilise comme &#231;a :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;python3 -m venv /tmp/venv ; source /tmp/venv/bin/activate ; pip install --upgrade pip ; pip3 install matplotlib numpy opencv-python opencv-contrib-python tensorflow&lt;/code&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;erreurs : Could not build wheels for dlib, erreur apparue pour installer face-recognition&lt;/h2&gt;
&lt;p&gt;, d'apr&#232;s &lt;a href=&#034;https://learnopencv.com/install-dlib-on-ubuntu/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://learnopencv.com/install-dlib-on-ubuntu/&lt;/a&gt;&lt;br class='autobr' /&gt;
installation de face_recognition&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sudo apt-get install cmake build-essential libopenblas-dev liblapack-dev pkg-config libx11-dev libatlas-base-dev libgtk-3-dev libboost-python-dev python3-dev python3-pip virtualenv virtualenvwrapper&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;source /usr/share/virtualenvwrapper/virtualenvwrapper.sh mkvirtualenv facecourse-py3 -p python3 workon facecourse-py3 pip install numpy scipy matplotlib scikit-image scikit-learn ipython wheel numpy scipy matplotlib scikit-image scikit-learn ipython pip3 install numpy virtualenv virtualenvwrapper # now install python libraries within this virtual environment pip install numpy scipy matplotlib scikit-image scikit-learn ipython # quit virtual environment deactivate &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>d&#233;corateur d&#233;corator</title>
		<link>https://dindoun.lautre.net/spip.php?article487</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article487</guid>
		<dc:date>2022-11-25T01:56:50Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>bruno</dc:creator>


		<dc:subject>python</dc:subject>
		<dc:subject>python3</dc:subject>

		<description>
&lt;p&gt;Un d&#233;corateur agit sur la sortie d'une fonction , sans la remplacer directement. Quand la fonction est appel&#233;e, c'est le d&#233;corateur qui est appel&#233;. &lt;br class='autobr' /&gt;
Par exemple avec une fonction def decorateur(f) : def g(a,b) : print( &#034;le r&#233;sultat est &#034;.format(f(a,b))) return g &lt;br class='autobr' /&gt;
@decorateur def ajoute(a,b) : return a+b @decorateur def mult(a,b) : return a*b ajoute(5,3) affichera le r&#233;sultat est 8 au lieu de retourner 8 mult(2,4) affichera le r&#233;sultat est 8 Attention : le simple (&#8230;)&lt;/p&gt;


-
&lt;a href="https://dindoun.lautre.net/spip.php?rubrique45" rel="directory"&gt;python&lt;/a&gt;

/ 
&lt;a href="https://dindoun.lautre.net/spip.php?mot11" rel="tag"&gt;python&lt;/a&gt;, 
&lt;a href="https://dindoun.lautre.net/spip.php?mot141" rel="tag"&gt;python3&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Un d&#233;corateur agit sur la sortie d'une fonction , sans la remplacer directement.&lt;br class='autobr' /&gt;
Quand la fonction est appel&#233;e, c'est le d&#233;corateur qui est appel&#233;.&lt;/p&gt;
&lt;p&gt;Par exemple avec une fonction&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;def decorateur(f): def g(a,b): print( &#034;le r&#233;sultat est {}&#034;.format(f(a,b))) return g @decorateur def ajoute(a,b): return a+b @decorateur def mult(a,b): return a*b&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ajoute(5,3) affichera &lt;strong&gt;le r&#233;sultat est 8&lt;/strong&gt;&lt;br class='autobr' /&gt;
au lieu de retourner 8&lt;br class='autobr' /&gt;
mult(2,4) affichera &lt;strong&gt;le r&#233;sultat est 8&lt;/strong&gt;&lt;br class='autobr' /&gt;
Attention : le simple fait d'utiliser la fonction provoque l'affichage :&lt;br class='autobr' /&gt;
c=ajoute(5,6) affiche &lt;strong&gt;le r&#233;sultat est 11&lt;/strong&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;succession de d&#233;corateurs :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;def decorateur2(f): def h(a,b): print( &#034;Dans l'ensemble des r&#233;els, {}&#034;.format(f(a,b))) return h def decorateur(f): def g(a,b): return &#034;le r&#233;sultat est {}&#034;.format(f(a,b)) return g @decorateur2 @decorateur def div(a,b): return a/b div (5,4)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dans l'ensemble des r&#233;els, le r&#233;sultat est 1.25&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;On peut g&#233;n&#233;raliser le d&#233;corateur :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;def decorateur(f): def g(*args,**kargs): print( &#034;le r&#233;sultat est {}&#034;.format(f(*args,**kargs))) return g &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;decorateur debug :&lt;br class='autobr' /&gt;
def decorateur_debug(f) :&lt;br class='autobr' /&gt; def g(*args,**kargs) :&lt;br class='autobr' /&gt; if debug==True :&lt;br class='autobr' /&gt; print(f.__name__+&#034; :&#034;+f.__doc__)&lt;br class='autobr' /&gt; return f(*args,**kargs)&lt;br class='autobr' /&gt; return g&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;&lt;a href=&#034;https://zestedesavoir.com/tutoriels/954/notions-de-python-avancees/2-functions/3-decorators/#fn-approximation_decorateur&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://zestedesavoir.com/tutoriels/954/notions-de-python-avancees/2-functions/3-decorators/#fn-approximation_decorateur&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>flask</title>
		<link>https://dindoun.lautre.net/spip.php?article485</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article485</guid>
		<dc:date>2022-11-14T14:26:47Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>bruno</dc:creator>


		<dc:subject>python</dc:subject>

		<description>
&lt;p&gt;installation espace virtuel premier programme documentations &lt;br class='autobr' /&gt;
Installation &lt;br class='autobr' /&gt;
# sudo apt-get install python3-pip python3-venv &lt;br class='autobr' /&gt;
Cr&#233;ation d'un espace virtuel &lt;br class='autobr' /&gt;
mkdir -p microblog &amp;&amp; cd microblog python3 -m venv venv virtualenv venv source venv/bin/activate &lt;br class='autobr' /&gt;
premier programme &lt;br class='autobr' /&gt;
(venv) $ pip install flask gunicorn (venv) $ mkdir -p app app/__init__.py from flask import Flask app = Flask(__name__) from app import routes &lt;br class='autobr' /&gt;
app/routes.py from app import app @app.route('/') (&#8230;)&lt;/p&gt;


-
&lt;a href="https://dindoun.lautre.net/spip.php?rubrique45" rel="directory"&gt;python&lt;/a&gt;

/ 
&lt;a href="https://dindoun.lautre.net/spip.php?mot11" rel="tag"&gt;python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;a href=&#034;#installation&#034; class=&#034;spip_ancre&#034;&gt;installation&lt;/a&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;#virtuel&#034; class=&#034;spip_ancre&#034;&gt;espace virtuel&lt;/a&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;#debut&#034; class=&#034;spip_ancre&#034;&gt;premier programme&lt;/a&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;#docs&#034; class=&#034;spip_ancre&#034;&gt;documentations&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;installation&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Installation&lt;/h2&gt;
&lt;p&gt;# sudo apt-get install python3-pip python3-venv&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;virtuel&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Cr&#233;ation d'un espace virtuel&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;mkdir -p microblog &amp;&amp; cd microblog python3 -m venv venv virtualenv venv source venv/bin/activate&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a id=&#034;debut&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;premier programme&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;(venv) $ pip install flask gunicorn (venv) $ mkdir -p app&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;app/__init__.py&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;from flask import Flask app = Flask(__name__) from app import routes&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;app/routes.py&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;from app import app @app.route('/') @app.route('/index') def index(): return &#034;Hello, World!&#034;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;microblog.py&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;from app import app&lt;/code&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='6' class='spip_cadre spip_cadre_block' dir='ltr'&gt;microblog/ venv/ microblog.py app/ __init__.py routes.py&lt;/textarea&gt;
&lt;p&gt;&lt;a id=&#034;serveur&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;d&#233;marrage du serveur&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;M&#233;thode 1&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;(venv) $ export FLASK_APP=microblog.py (venv) $ flask run&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;* Serving Flask app &#034;microblog&#034; * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;M&#233;thode 2&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;gunicorn -b localhost:8000 -w 4 microblog:app&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;docs&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;livres&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Flask Web Development, 2-nd edition.pdf&lt;/li&gt;&lt;li&gt; Python for DevOps - Grig Gheorghiu &amp; Alfredo Deza &amp; Kennedy Behrman &amp; Noah Gift.pdf&lt;/li&gt;&lt;li&gt; the-new-and-improved-flask-mega-tutorial.pdf&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>hotspot + lamp</title>
		<link>https://dindoun.lautre.net/spip.php?article455</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article455</guid>
		<dc:date>2021-06-03T21:43:25Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>bruno</dc:creator>


		<dc:subject>python</dc:subject>
		<dc:subject>smartphone</dc:subject>
		<dc:subject>hotspot</dc:subject>

		<description>
&lt;p&gt;sur le serveur : &lt;br class='autobr' /&gt;
&#8211; qpython 3s
&lt;br class='autobr' /&gt;
&#8211; programme serveur-python3.py import http.server import socketserver
&lt;br class='autobr' /&gt;
PORT = 8000 import sys Handler = http.server.SimpleHTTPRequestHandler
&lt;br class='autobr' /&gt;
with socketserver.TCPServer((&#034;&#034;, PORT), Handler) as httpd : print(&#034;utilisation du port &#034;,PORT,&#034;, argv = &#034;,sys.argv) httpd.serve_forever() &lt;br class='autobr' /&gt;
&#8211; le dossier qpython est la base du serveur, on peut rajouter le dossier html &lt;br class='autobr' /&gt;
et un fichier index.html dans le dossier qpython qui envoie (&#8230;)&lt;/p&gt;


-
&lt;a href="https://dindoun.lautre.net/spip.php?rubrique39" rel="directory"&gt;smartphones et tablettes&lt;/a&gt;

/ 
&lt;a href="https://dindoun.lautre.net/spip.php?mot11" rel="tag"&gt;python&lt;/a&gt;, 
&lt;a href="https://dindoun.lautre.net/spip.php?mot25" rel="tag"&gt;smartphone&lt;/a&gt;, 
&lt;a href="https://dindoun.lautre.net/spip.php?mot114" rel="tag"&gt;hotspot&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;sur le serveur : &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; qpython 3s
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; programme &lt;strong&gt;serveur-python3.py&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;import http.server import socketserver PORT = 8000 import sys Handler = http.server.SimpleHTTPRequestHandler with socketserver.TCPServer((&#034;&#034;, PORT), Handler) as httpd: print(&#034;utilisation du port &#034;,PORT,&#034;, argv = &#034;,sys.argv) httpd.serve_forever()&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; le dossier qpython est la base du serveur, on peut rajouter le dossier html&lt;/p&gt;
&lt;p&gt;et un fichier &lt;strong&gt;index.html&lt;/strong&gt; dans le dossier qpython qui envoie directement dans le dossier html :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;html&gt; &lt;head&gt; &lt;title&gt;Redirection&lt;/title&gt; &lt;meta http-equiv=&#034;refresh&#034; content=&#034;0; URL=./html/&#034;&gt; &lt;/head&gt; &lt;body&gt; &lt;/body&gt; &lt;/html&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; lancer le hotspot&lt;/p&gt;
&lt;p&gt;sur le client :&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://192.168.43.1:8000&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://192.168.43.1:8000&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ou, la m&#234;me adresse en qrcode :&lt;/p&gt;
&lt;div class='spip_document_370 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://dindoun.lautre.net/local/cache-vignettes/L370xH370/http-qrcode-192.168.1.43-8000-4a0c1.png?1762440893' width='370' height='370' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;( ou, non essay&#233; 192.168.42.129 pour acc&#233;der au serveur )&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://dindoun.lautre.net/IMG/html/index-2.html" length="130" type="text/html" />
		
		<enclosure url="https://dindoun.lautre.net/IMG/zip/serveur-python3.py.zip" length="302" type="application/zip" />
		

	</item>
<item xml:lang="fr">
		<title>utilisation de python3-plotly - Python 3...</title>
		<link>https://dindoun.lautre.net/spip.php?article399</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article399</guid>
		<dc:date>2020-05-08T00:02:24Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>bruno</dc:creator>


		<dc:subject>python</dc:subject>
		<dc:subject>python3</dc:subject>

		<description>&lt;p&gt;Il s'agit d'une classe python qui permet de cr&#233;er des pages de visualisation de type html+css+js&lt;/p&gt;

-
&lt;a href="https://dindoun.lautre.net/spip.php?rubrique45" rel="directory"&gt;python&lt;/a&gt;

/ 
&lt;a href="https://dindoun.lautre.net/spip.php?mot11" rel="tag"&gt;python&lt;/a&gt;, 
&lt;a href="https://dindoun.lautre.net/spip.php?mot141" rel="tag"&gt;python3&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;utilisation de python3-plotly - Python 3 plotting library for publication-quality graphs&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://plotly.com/python/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://plotly.com/python/&lt;/a&gt;&lt;br class='autobr' /&gt;
d'apr&#232;s : &lt;a href=&#034;http://gael-varoquaux.info/slides_etalab_2020&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://gael-varoquaux.info/slides_etalab_2020&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;exemples&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='16' class='spip_cadre spip_cadre_block' dir='ltr'&gt;import json with open('geojson-counties-fips.json',&#034;r&#034;) as response: JSON = json.load(response) #JSON : dict et list #JSON[&#034;features&#034;][0 &#224; N-1] sont les N surfaces #JSON[&#034;features&#034;][0]['id'] === CSV['fips'] #JSON[&#034;features&#034;][0]['geometry']['type']='Polygon' #JSON[&#034;features&#034;][0]['geometry']['coordinates']=[[[-86.496774, 32.344437], [-86.717897, 32.402814], [-86.814912, 32.340803], [-86.890581, 32.502974], [-86.917595, 32.664169], [-86.71339, 32.661732], [-86.714219, 32.705694], [-86.413116, 32.707386], [-86.411172, 32.409937], [-86.496774, 32.344437]]]&lt;/textarea&gt;
&lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre spip_cadre_block' dir='ltr'&gt;import pandas CSV = pandas.read_csv(&#034;fips-unemp-16.csv&#034;,dtype={&#034;fips&#034;: str}) #CSV['fips'] et CSV['unemp']&lt;/textarea&gt;
&lt;p&gt;Une carte des USA o&#249; la couleur des surfaces identifi&#233;es par JSON[&#034;features&#034;][0]['id'] === CSV['fips'] est donn&#233;e par la valeur de CSV['unemp'] en allant de 0 &#224;12.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='14' class='spip_cadre spip_cadre_block' dir='ltr'&gt;import plotly.express as px fig = px.choropleth(CSV, geojson=JSON, locations='fips', color='unemp', color_continuous_scale=&#034;Viridis&#034;, range_color=(0, 12), scope=&#034;usa&#034;, labels={'unemp':'PRG3:unemployment rate'}) fig.update_layout(margin={&#034;r&#034;:0,&#034;t&#034;:0,&#034;l&#034;:0,&#034;b&#034;:0}) fig.show()&lt;/textarea&gt;
&lt;p&gt;On obtient :&lt;/p&gt; &lt;iframe width=&#034;100%&#034; height=&#034;346&#034; src=&#034;http://127.0.0.1/d/DIVERS/PYTHON/plotly0.html&#034; frameborder=&#034;0&#034;&gt;&lt;/iframe&gt; &lt;p&gt;Attention, il y a de nombreux appels externes : creativecommons.org , openstreetmap.org , mapbox.cn , mapbox.com , carto.com , cartodb-basemaps-c.global.ssl.fastly.net , cdn.plot.ly , get.webgl.org , github.com , plotly.com , stamen-tiles.a.ssl.fastly.net , stamen.com , &lt;a href=&#034;http://www.w3.org&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;www.w3.org&lt;/a&gt; ,&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;exemples avec le coronavirus : voir &lt;a href='https://dindoun.lautre.net/spip.php?article377' class=&#034;spip_in&#034;&gt;coronavirus&lt;/a&gt;&lt;/h2&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>module : subprocess</title>
		<link>https://dindoun.lautre.net/spip.php?article247</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article247</guid>
		<dc:date>2018-01-30T14:14:49Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>bruno</dc:creator>


		<dc:subject>python</dc:subject>

		<description>&lt;p&gt;ce module remplace os.system , os.spawn* , os.popen* , popen2.* , commands.*&lt;/p&gt;

-
&lt;a href="https://dindoun.lautre.net/spip.php?rubrique45" rel="directory"&gt;python&lt;/a&gt;

/ 
&lt;a href="https://dindoun.lautre.net/spip.php?mot11" rel="tag"&gt;python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;a href=&#034;https://docs.python.org/2/library/subprocess.html#replacing-shell-pipeline&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://docs.python.org/2/library/subprocess.html#replacing-shell-pipeline&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;subprocess.call([&#034;ls&#034;, &#034;-l&#034;])&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;HelloWorld=subprocess.check_output([&#034;echo&#034;, &#034;Hello World!&#034;])&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;tokenization correcte :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='15' class='spip_cadre spip_cadre_block' dir='ltr'&gt;import shlex, subprocess args = shlex.split(&#034;blender -b file.blend -o //file -F JPEG -x 1 -f 1&#034;) print (args) On obtient : ['blender', '-b', 'file.blend', '-o', '//file', '-F', 'JPEG', '-x', '1', '-f', '1'] Ensuite : p1 = Popen(['blender', '-b', 'file.blend', '-o', '//file', '-F', 'JPEG', '-x', '1', '-f', '1'], stdout=PIPE) res=p1.communicate()[0]&lt;/textarea&gt;
&lt;p&gt;pipeline avec le symbole | , par exemple : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dmesg | grep hda&lt;/code&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='6' class='spip_cadre spip_cadre_block' dir='ltr'&gt;p1 = Popen([&#034;dmesg&#034;], stdout=PIPE) p2 = Popen([&#034;grep&#034;, &#034;hda&#034;], stdin=p1.stdout, stdout=PIPE) p1.stdout.close() # Allow p1 to receive a SIGPIPE if p2 exits. output = p2.communicate()[0]&lt;/textarea&gt;
&lt;p&gt;os.system()&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;status = os.system(&#034;mycmd&#034; + &#034; myarg&#034;)&lt;/code&gt;&lt;br class='autobr' /&gt;
devient&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;status = subprocess.call(&#034;mycmd&#034; + &#034; myarg&#034;, shell=True)&lt;/code&gt;&lt;br class='autobr' /&gt;
ou&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='12' class='spip_cadre spip_cadre_block' dir='ltr'&gt;try: retcode = call(&#034;mycmd&#034; + &#034; myarg&#034;, shell=True) if retcode &lt; 0: print &gt;&gt;sys.stderr, &#034;Child was terminated by signal&#034;, -retcode else: print &gt;&gt;sys.stderr, &#034;Child returned&#034;, retcode except OSError as e: print &gt;&gt;sys.stderr, &#034;Execution failed:&#034;, e&lt;/textarea&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Classes Python</title>
		<link>https://dindoun.lautre.net/spip.php?article236</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article236</guid>
		<dc:date>2017-10-26T01:35:19Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>bruno</dc:creator>


		<dc:subject>python</dc:subject>

		<description>
&lt;p&gt;Une classe est un objet qui a d&#233;j&#224; des valeurs, des propri&#233;t&#233;s. Une classe est un programme qui sait d&#233;j&#224; faire des choses &#233;volu&#233;es et sp&#233;cifiques. &lt;br class='autobr' /&gt;
On &#233;crit import scipy,re pour importe les classes scipy et re. On peut alors utiliser l'objet fftpack contenu dans scipy en &#233;crivant scipy.fftpack
&lt;br class='autobr' /&gt;
On &#233;crit from scipy import fftpack pour importer l'objet scipy.fftpack. On peut alors utiliser l'objet fftpack contenu dans scipy en &#233;crivant fftpack diff&#233;rentes classes utiles : &lt;br class='autobr' /&gt;
classe wave : (&#8230;)&lt;/p&gt;


-
&lt;a href="https://dindoun.lautre.net/spip.php?rubrique45" rel="directory"&gt;python&lt;/a&gt;

/ 
&lt;a href="https://dindoun.lautre.net/spip.php?mot11" rel="tag"&gt;python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Une classe est un objet qui a d&#233;j&#224; des valeurs, des propri&#233;t&#233;s. Une classe est un programme qui sait d&#233;j&#224; faire des choses &#233;volu&#233;es et sp&#233;cifiques.&lt;/p&gt;
&lt;p&gt;On &#233;crit &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;import scipy,re&lt;/code&gt; pour importe les classes scipy et re. On peut alors utiliser l'objet fftpack contenu dans scipy en &#233;crivant &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scipy.fftpack&lt;/code&gt;&lt;br class='autobr' /&gt;
On &#233;crit &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;from scipy import fftpack&lt;/code&gt; pour importer l'objet scipy.fftpack. On peut alors utiliser l'objet fftpack contenu dans scipy en &#233;crivant &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;fftpack&lt;/code&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;diff&#233;rentes classes utiles :&lt;/h2&gt;
&lt;p&gt;classe wave :&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://docs.python.org/2/library/wave.html&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;https://docs.python.org/2/library/w...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;classe re :&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://docs.python.org/2/library/re.html&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;https://docs.python.org/2/library/r...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;classe scipy # &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;apt-get install python3-scipy&lt;/code&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://docs.scipy.org/doc/scipy/reference/&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;https://docs.scipy.org/doc/scipy/re...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;from scipy import fftpack&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://docs.scipy.org/doc/scipy/reference/tutorial/fftpack.html&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;https://docs.scipy.org/doc/scipy/re...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;classe matplotlib &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;apt-get install python-matplotlib python3-matplotlib&lt;/code&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;http://matplotlib.org/api/pyplot_api.html&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://matplotlib.org/api/pyplot_ap...&lt;/a&gt;&lt;br class='autobr' /&gt;
import matplotlib.pyplot as plt&lt;/p&gt;
&lt;p&gt;classe pylexique &lt;a href=&#034;https://pylexique.readthedocs.io/fr/latest/usage.html#to-use-pylexique-from-the-command-line&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;https://pylexique.readthedocs.io/fr...&lt;/a&gt;&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;python3 -m venv /tmp/ytdlp-poub&amp;&amp; source /tmp/ytdlp-poub/bin/activate &amp;&amp; pip install pylexique&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;print(pylexique.Lexique383().lexique[&#034;manger&#034;][1].phon) = &#034;m@Ze&#034;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;https://sekoudiaonlp.github.io/pylexique/fr_FR/readme.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://sekoudiaonlp.github.io/pylexique/fr_FR/readme.html&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&#034;ortho&#034;: &#034;manger&#034;, &#034;phon&#034;: &#034;m@Ze&#034;, &#034;lemme&#034;: &#034;manger&#034;, &#034;cgram&#034;: &#034;NOM&#034;, &#034;genre&#034;: &#034;m&#034;, &#034;nombre&#034;: &#034;s&#034;, &#034;freqlemfilms2&#034;: 5.62, &#034;freqlemlivres&#034;: 4.05, &#034;freqfilms2&#034;: 5.62, &#034;freqlivres&#034;: 4.05, &#034;infover&#034;: &#034;&#034;, &#034;nbhomogr&#034;: 2, &#034;nbhomoph&#034;: 7, &#034;islem&#034;: True, &#034;nblettres&#034;: 6, &#034;nbphons&#034;: 4, &#034;cvcv&#034;: &#034;CVCCVC&#034;, &#034;p_cvcv&#034;: &#034;CVCV&#034;, &#034;voisorth&#034;: 9, &#034;voisphon&#034;: 12, &#034;puorth&#034;: 6, &#034;puphon&#034;: 4, &#034;syll&#034;: &#034;m@-Ze&#034;, &#034;nbsyll&#034;: 2, &#034;cv_cv&#034;: &#034;CV-CV&#034;, &#034;orthrenv&#034;: &#034;regnam&#034;, &#034;phonrenv&#034;: &#034;eZ@m&#034;, &#034;orthosyll&#034;: &#034;man-ger&#034;, &#034;cgramortho&#034;: &#034;NOM,VER&#034;, &#034;deflem&#034;: &#034;100&#034;, &#034;defobs&#034;: &#034;33&#034;, &#034;old20&#034;: 1.35, &#034;pld20&#034;: 1.25, &#034;morphoder&#034;: &#034;manger&#034;, &#034;nbmorph&#034;: &#034;1&#034; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;cr&#233;er sa classe perso :&lt;/h2&gt;
&lt;p&gt;CFR.py :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;class CFichiersRepertoires(object): g=9.81#Ici Une Variable Commune A Tous Les CFichiersRepertoires() def __init__(self,vit=0.0): self.vitesse=vit self.vitesse=10.5#Ici Une Variable Diff&#233;rente pour chaque &#233;l&#233;ment &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;importer sa classe perso depuis un dossier :&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;dossier=&#034;PROGRAMMATION/PYTHON/DOC/CLASSES&#034; if dossier not in sys.path: sys.path.append(dossier) import CFR from CFR import CFichiersRepertoires &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;les classes pr&#233;d&#233;finies : &lt;a href=&#034;https://www.python-course.eu/python3_magic_methods.php&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.python-course.eu/python3_magic_methods.php&lt;/a&gt; &lt;/h2&gt;
&lt;p&gt;Binary Operators&lt;br class='autobr' /&gt;
Operator Method&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;+ object.__add__(self, other) - object.__sub__(self, other) * object.__mul__(self, other) // object.__floordiv__(self, other) / object.__truediv__(self, other) % object.__mod__(self, other) ** object.__pow__(self, other[, modulo]) &lt;&lt; object.__lshift__(self, other) &gt;&gt; object.__rshift__(self, other) &amp; object.__and__(self, other) ^ object.__xor__(self, other) | object.__or__(self, other) &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Extended Assignments&lt;br class='autobr' /&gt;
Operator Method&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;+= object.__iadd__(self, other) -= object.__isub__(self, other) *= object.__imul__(self, other) /= object.__idiv__(self, other) //= object.__ifloordiv__(self, other) %= object.__imod__(self, other) **= object.__ipow__(self, other[, modulo]) &lt;&lt;= object.__ilshift__(self, other) &gt;&gt;= object.__irshift__(self, other) &amp;= object.__iand__(self, other) ^= object.__ixor__(self, other) |= object.__ior__(self, other) &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Unary Operators&lt;br class='autobr' /&gt;
Operator Method&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;- object.__neg__(self) + object.__pos__(self) abs() object.__abs__(self) ~ object.__invert__(self) complex() object.__complex__(self) int() object.__int__(self) long() object.__long__(self) float() object.__float__(self) oct() object.__oct__(self) hex() object.__hex__(self &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Comparison Operators&lt;br class='autobr' /&gt;
Operator Method&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt; object.__lt__(self, other) &lt;= object.__le__(self, other) == object.__eq__(self, other) != object.__ne__(self, other) &gt;= object.__ge__(self, other) &gt; object.__gt__(self, other) &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://dindoun.lautre.net/IMG/zip/python2-classes.zip" length="99506002" type="application/zip" />
		
		<enclosure url="https://dindoun.lautre.net/IMG/zip/python3-classes.zip" length="8101740" type="application/zip" />
		
		<enclosure url="https://dindoun.lautre.net/IMG/zip/python-modeles.zip" length="4970" type="application/zip" />
		

	</item>
<item xml:lang="fr">
		<title>module re : match et find divers</title>
		<link>https://dindoun.lautre.net/spip.php?article234</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article234</guid>
		<dc:date>2017-10-26T00:53:29Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>bruno</dc:creator>


		<dc:subject>python</dc:subject>

		<description>
&lt;p&gt;import re &lt;br class='autobr' /&gt;
Etude de
&lt;br class='autobr' /&gt;
&lt;tr class='row_odd odd'&gt;&lt;td&gt;anciennes commandes net-tools&lt;/td&gt;&lt;td&gt;commandes iproute2 de remplacement&lt;/td&gt;&lt;/tr&gt; &lt;tr class='row_even even'&gt;&lt;td&gt;arp&lt;/td&gt;&lt;td&gt;ip n (ip neighbor)&lt;/td&gt;&lt;/tr&gt; &lt;tr class='row_odd odd'&gt;&lt;td&gt;ifconfig&lt;/td&gt;&lt;td&gt;ip a (ip addr), ip link, ip -s (ip -stats)&lt;/td&gt;&lt;/tr&gt; &lt;tr class='row_even (&#8230;)&lt;/p&gt;


-
&lt;a href="https://dindoun.lautre.net/spip.php?rubrique45" rel="directory"&gt;python&lt;/a&gt;

/ 
&lt;a href="https://dindoun.lautre.net/spip.php?mot11" rel="tag"&gt;python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;import re&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Etude de&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='18' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;tr class='row_odd odd'&gt;&lt;td&gt;anciennes commandes net-tools&lt;/td&gt;&lt;td&gt;commandes iproute2 de remplacement&lt;/td&gt;&lt;/tr&gt; &lt;tr class='row_even even'&gt;&lt;td&gt;arp&lt;/td&gt;&lt;td&gt;ip n (ip neighbor)&lt;/td&gt;&lt;/tr&gt; &lt;tr class='row_odd odd'&gt;&lt;td&gt;ifconfig&lt;/td&gt;&lt;td&gt;ip a (ip addr), ip link, ip -s (ip -stats)&lt;/td&gt;&lt;/tr&gt; &lt;tr class='row_even even'&gt;&lt;td&gt;iptunnel&lt;/td&gt;&lt;td&gt;ip tunnel&lt;/td&gt;&lt;/tr&gt; &lt;tr class='row_odd odd'&gt;&lt;td&gt;nameif&lt;/td&gt;&lt;td&gt;ip link&lt;/td&gt;&lt;/tr&gt; &lt;tr class='row_even even'&gt;&lt;td&gt;netstat&lt;/td&gt;&lt;td&gt;ss, ip route (pour netstat -r), ip -s link (pour netstat -i), ip maddr (pour netstat -g)&lt;/td&gt;&lt;/tr&gt; &lt;tr class='row_odd odd'&gt;&lt;td&gt;route&lt;/td&gt;&lt;td&gt;ip r (ip route)&lt;/td&gt;&lt;/tr&gt;&lt;/textarea&gt;
&lt;p&gt;Etude de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tmp='ID_VIDEO_WIDTH=300 ID_VIDEO_HEIGHT=200'&lt;/code&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='5' class='spip_cadre spip_cadre_block' dir='ltr'&gt;m=re.match(r&#034;.*WIDTH=([0-9]*).*HEIGHT=([0-9]*)[^0-9]*&#034;,str(tmp)) W,H=m.groups() print(W,H) 300 200&lt;/textarea&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>documentation pour python</title>
		<link>https://dindoun.lautre.net/spip.php?article232</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article232</guid>
		<dc:date>2017-10-26T00:53:18Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>bruno</dc:creator>


		<dc:subject>python</dc:subject>

		<description>
&lt;p&gt;fonction internes :
&lt;br class='autobr' /&gt;
https://docs.python.org/3/library/functions.html &lt;br class='autobr' /&gt;
NON v&#233;rifi&#233;s : &lt;br class='autobr' /&gt;
http://python.developpez.com/cours/apprendre-python3/
&lt;br class='autobr' /&gt;
http://greenteapress.com/wp/think-python/ &lt;br class='autobr' /&gt;
python pour android :
&lt;br class='autobr' /&gt;
http://kivy.org/docs/guide/basic.html
&lt;br class='autobr' /&gt;
https://code.google.com/p/android-scripting/
&lt;br class='autobr' /&gt;
kivy
&lt;br class='autobr' /&gt;
https://github.com/kivy/python-for-android
&lt;br class='autobr' /&gt;
qpython , jython
&lt;br class='autobr' /&gt;
http://www.openbookproject.net/thinkCSpy
&lt;br class='autobr' /&gt;
http://greenteapress.com/wp/think-python/
&lt;br class='autobr' /&gt;
http://lanyrd.com/2012/europython/srzmt/ (&#8230;)&lt;/p&gt;


-
&lt;a href="https://dindoun.lautre.net/spip.php?rubrique45" rel="directory"&gt;python&lt;/a&gt;

/ 
&lt;a href="https://dindoun.lautre.net/spip.php?mot11" rel="tag"&gt;python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;fonction internes :&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://docs.python.org/3/library/functions.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://docs.python.org/3/library/functions.html&lt;/a&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;
&lt;p&gt;NON v&#233;rifi&#233;s :&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://python.developpez.com/cours/apprendre-python3/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://python.developpez.com/cours/apprendre-python3/&lt;/a&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;http://greenteapress.com/wp/think-python/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://greenteapress.com/wp/think-python/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;python pour android :&lt;br class='autobr' /&gt;
&lt;a href=&#034;http://kivy.org/docs/guide/basic.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://kivy.org/docs/guide/basic.html&lt;/a&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://code.google.com/p/android-scripting/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://code.google.com/p/android-scripting/&lt;/a&gt;&lt;br class='autobr' /&gt;
kivy&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://github.com/kivy/python-for-android&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/kivy/python-for-android&lt;/a&gt;&lt;br class='autobr' /&gt;
qpython , jython&lt;br class='autobr' /&gt;
&lt;a href=&#034;http://www.openbookproject.net/thinkCSpy&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.openbookproject.net/thinkCSpy&lt;/a&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;http://greenteapress.com/wp/think-python/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://greenteapress.com/wp/think-python/&lt;/a&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;http://lanyrd.com/2012/europython/srzmt/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://lanyrd.com/2012/europython/srzmt/&lt;/a&gt;&lt;br class='autobr' /&gt;
&lt;a href=&#034;http://thp.io/2012/europython/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://thp.io/2012/europython/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;import androidhelper&lt;br class='autobr' /&gt;
droid = android.Android()&lt;br class='autobr' /&gt;
droid.makeToast('hello')&lt;br class='autobr' /&gt;
[/code]&lt;br class='autobr' /&gt;
Bottle exemple :&lt;br class='autobr' /&gt;
[code]&lt;br class='autobr' /&gt;
from bottle import route, run, template, request&lt;br class='autobr' /&gt;
@route('/')&lt;br class='autobr' /&gt;
@route('/index')&lt;br class='autobr' /&gt;
def index() :&lt;br class='autobr' /&gt; return template('''Hello World''')&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>multi langages</title>
		<link>https://dindoun.lautre.net/spip.php?article163</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article163</guid>
		<dc:date>2017-06-05T14:24:21Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>bruno</dc:creator>


		<dc:subject>php</dc:subject>
		<dc:subject>python</dc:subject>
		<dc:subject>bash</dc:subject>

		<description>
&lt;p&gt;python en php $mavar = array() ; exec(&#034;python b.py&#034;, $mavar) ; var_dump($mavar) ; sh/bash en python import os os.system('commande') python en sh/bash
&lt;br class='autobr' /&gt; python machin.py php en bash
&lt;br class='autobr' /&gt;
# !/usr/bin/env php &lt; ?php phpinfo() ; ?&gt;&lt;/p&gt;


-
&lt;a href="https://dindoun.lautre.net/spip.php?rubrique20" rel="directory"&gt;Programmation&lt;/a&gt;

/ 
&lt;a href="https://dindoun.lautre.net/spip.php?mot10" rel="tag"&gt;php&lt;/a&gt;, 
&lt;a href="https://dindoun.lautre.net/spip.php?mot11" rel="tag"&gt;python&lt;/a&gt;, 
&lt;a href="https://dindoun.lautre.net/spip.php?mot63" rel="tag"&gt;bash&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; python en php
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$mavar = array(); exec(&#034;python b.py&#034;, $mavar); var_dump($mavar);&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; sh/bash en python
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; import os os.system('commande')&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; python en sh/bash&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt; python machin.py&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; php en bash &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;#!/usr/bin/env php &lt;?php phpinfo(); ?&gt;&lt;/textarea&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
