<?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_rubrique=45&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>opencv</title>
		<link>https://dindoun.lautre.net/spip.php?article506</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article506</guid>
		<dc:date>2023-03-18T23:17:17Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>bruno</dc:creator>


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

		<description>
&lt;p&gt;imports import cv2 import numpy as np import matplotlib.pyplot as plt import matplotlib &lt;br class='autobr' /&gt;
image img = cv2.imread('a.jpg') cv2.imshow(&#034;kk&#034;,img) cv2.waitKey(0) print(image.shape) #hauteur,largeur,canaux dessiner une ligne : img = cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) plt.imshow(image_line[ :, :, : :-1]) dessiner un cercle img = cv2.circle(img, center, radius, color[, thickness[, lineType[, shift]]]) dessiner un rectangle img = cv2.rectangle(img, pt1, pt2, color[, (&#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?mot141" rel="tag"&gt;python3&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;imports&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;import cv2 import numpy as np import matplotlib.pyplot as plt import matplotlib&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;image&lt;/h2&gt;
&lt;p&gt;img = cv2.imread('a.jpg')&lt;br class='autobr' /&gt;
cv2.imshow(&#034;kk&#034;,img)&lt;br class='autobr' /&gt;
cv2.waitKey(0)&lt;br class='autobr' /&gt;
print(image.shape) #hauteur,largeur,canaux&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; dessiner une ligne :&lt;br class='autobr' /&gt;
img = cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]])&lt;br class='autobr' /&gt;
plt.imshow(image_line[ :, :, : :-1])&lt;/li&gt;&lt;li&gt; dessiner un cercle&lt;br class='autobr' /&gt;
img = cv2.circle(img, center, radius, color[, thickness[, lineType[, shift]]])&lt;/li&gt;&lt;li&gt; dessiner un rectangle&lt;br class='autobr' /&gt;
img = cv2.rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]])&lt;/li&gt;&lt;li&gt; ins&#233;rer un texte&lt;br class='autobr' /&gt;
img = cv2.putText(img, text, org, fontFace, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]])&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;functions sur images :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; ajouter : cv2.add(im1,im2)&lt;/li&gt;&lt;li&gt; soustraire : cv2.substract(im1,im2)&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;RVB &lt;-&gt; BVR&lt;/h2&gt;
&lt;p&gt;B,V,R =img[x,y]&lt;br class='autobr' /&gt;
R,V,B=img[ :, :, : :-1] [x,y]&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;crop&lt;/h2&gt;
&lt;p&gt;cropped_region = img[y1:y2,x1:x2]&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;changement de taille, resize&lt;/h2&gt;
&lt;p&gt;cv2.resize(img, None, fx = 2, fy = 2)&lt;br class='autobr' /&gt;
cv2.resize(img, dsize = (200,400), interpolation = cv2.INTER_AREA)&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;flip&lt;/h2&gt;
&lt;p&gt;&lt;-&gt; : cv2.flip(img_eagle, 1)&lt;br class='autobr' /&gt;
vert : cv2.flip(img_eagle, 0)&lt;br class='autobr' /&gt;
rot 180 : cv2.flip(img_eagle, -1)&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;aruco detecteurs&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;for i in range(1000): dictionary = cv2.aruco.getPredefinedDictionary(cv2.aruco.DICT_6X6_1000) parameters = cv2.aruco.DetectorParameters() img=cv2.aruco.generateImageMarker(dictionary,i,200) cv2.imwrite(&#034;/tmp/aa/f&#034;+str(i)+&#034;.jpg&#034;,img)&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>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>frameworks</title>
		<link>https://dindoun.lautre.net/spip.php?article160</link>
		<guid isPermaLink="true">https://dindoun.lautre.net/spip.php?article160</guid>
		<dc:date>2017-05-26T23:30:15Z</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;Page g&#233;n&#233;rale des webframeworks : https://wiki.python.org/moin/WebFrameworks/ django The Web framework for perfectionists (with deadlines). Django makes it easier to build better Web apps more quickly and with less code. Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. It lets you build high-performing, elegant Web applications quickly. Django focuses on automating as much as possible and adhering to the DRY (Don't Repeat Yourself) (&#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;Page g&#233;n&#233;rale des webframeworks : &lt;a href=&#034;https://wiki.python.org/moin/WebFrameworks/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://wiki.python.org/moin/WebFrameworks/&lt;/a&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://www.djangoproject.com/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;django&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; The Web framework for perfectionists (with deadlines). Django makes it easier to build better Web apps more quickly and with less code. Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. It lets you build high-performing, elegant Web applications quickly. Django focuses on automating as much as possible and adhering to the DRY (Don't Repeat Yourself) principle. See &lt;a href=&#034;https://wiki.python.org/moin/Django&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Django&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.web2py.com/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;web2py&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Python 2.6 to 2.7, Python 3.x friendly (compile but not tested no support yet) * All in one package with no further dependencies. Development, deployment, debugging, testing, database administration and maintenance of applications can be done via the provided web interface, but not required. * web2py has no configuration files, requires no installation, can be run off a USB drive. * web2py uses Python for the Model, View and the Controller * Built-in ticketing system to manage errors * Internationalization engine and pluralisation, caching system * Flexible authentication system (LDAP, MySQL, janrain etc) * NIX(Linux, BSD), Windows, Mac OSX, tested on EC2, Webfaction * works with MySQL, PostgreSQL, SQLite , Firebird, Oracle, MSSQL and the Google App Engine via an ORM abstraction layer. * Includes libraries to handle HTML/XML, RSS, ATOM, CSV, RTF, JSON, AJAX, XMLRPC, WIKI markup. * Production ready, capable of upload/download of very large files * Emphasis on backward compatibility.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://flask.pocoo.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Flask&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; flask (0.12.1 Released 2017-03-31) is &#8220;a microframework for Python based on Werkzeug, Jinja 2 and good intentions.&#8221; Includes a built-in development server, unit tesing support, and is fully Unicode-enabled with RESTful request dispatching and WSGI compliance.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://kivy.org/docs/gettingstarted/intro.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;kivy&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;textarea readonly='readonly' cols='40' rows='6' class='spip_cadre spip_cadre_block' dir='ltr'&gt;python-kivy - Kivy - Multimedia / Multitouch framework in Python (Python 2) python-kivy-examples - Kivy - Multimedia / Multitouch framework in Python (examples) python3-kivy - Kivy - Multimedia / Multitouch framework in Python (Python 3)&lt;/textarea&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;diff&#233;rentes r&#233;flexions sur les frameworks&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; django, flask, pyramid : &lt;a href=&#034;https://web.archive.org/web/20171008162318/https://www.airpair.com/python/posts/django-flask-pyramid&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://web.archive.org/web/20171008162318/https://www.airpair.com/python/posts/django-flask-pyramid&lt;/a&gt;&lt;/li&gt;&lt;li&gt; CubicWeb, Django, Pyramid, Web.py, Web2py, and Zope 2 : &lt;a href=&#034;http://www.infoworld.com/article/2622836/application-development/pillars-of-python--six-python-web-frameworks-compared.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.infoworld.com/article/2622836/application-development/pillars-of-python--six-python-web-frameworks-compared.html&lt;/a&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; zope2 : 15 ann&#233;es de de d&#233;veloppement&lt;/li&gt;&lt;li&gt; web2py : python embeddable language&lt;/li&gt;&lt;li&gt; django : an object-relational mapper so that you don't have to write your own RDBMS interface code, a template system so that you don't have to wrestle with marrying active Python content to static HTML content on a Web page, an administrative interface so that you can easily access your site's back-end data (as well as easily manage website users and permissions), and so on. You should expect to spend a stretch learning Django's API, but the time you put into Django is well worth it. It's a rich environment with much to recommend it.&lt;/li&gt;&lt;li&gt; cubicweb : constructing a CubicWeb application entails lashing together modules (called cubes) into a final structure :
&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; echo &#034;deb http://download.logilab.org/production/ jessie/&#034;&gt;&gt;/etc/apt/sources.list &amp;&amp; wget -O/etc/apt/trusted.gpg.d/logilab.gpg https://www.logilab.fr/logilab-debian-keyring.gpg &amp;&amp; apt-get update &amp;&amp; apt-get install cubicweb cubicweb-dev cubicweb-mysql-support&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
