<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.causeries-numeriques.fr/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Causeries numériques - python</title>
  <link>http://www.causeries-numeriques.fr/</link>
  <description></description>
  <language>fr</language>
  <pubDate>Tue, 07 Feb 2012 14:32:21 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Le lien du développeur</title>
    <link>http://www.causeries-numeriques.fr/post/2008/09/23/Le-lien-du-developpeur</link>
    <guid isPermaLink="false">urn:md5:7537e0675b7c26072f3d19a2e76c5d44</guid>
    <pubDate>Tue, 23 Sep 2008 14:03:00 +0200</pubDate>
    <dc:creator>jb</dc:creator>
        <category>Des pingouins et des hommes</category>
        <category>css</category><category>html</category><category>java</category><category>perl</category><category>php</category><category>python</category><category>ruby</category><category>ruby on rails</category>    
    <description>    &lt;p&gt;Le site &lt;a href=&quot;http://www.gotapi.com&quot;&gt;gotAPI&lt;/a&gt; regroupe la majorité des API des langages usuels. Le site est pratique et paramétrable via des onglets pour choisir les langages qu'on utilisent. L'intérêt de la manip' c'est qu'on ne garde qu'un onglet sous Firefox, ça évite d'avoir une douzaine d'onglets d'ouverts quand on travaille sur plusieurs langages en même temps.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.causeries-numeriques.fr/post/2008/09/23/Le-lien-du-developpeur#comment-form</comments>
      <wfw:comment>http://www.causeries-numeriques.fr/post/2008/09/23/Le-lien-du-developpeur#comment-form</wfw:comment>
      <wfw:commentRss>http://www.causeries-numeriques.fr/feed/rss2/comments/37</wfw:commentRss>
      </item>
    
  <item>
    <title>Manipulation de tags mp3 avec Perl, Ruby et Python</title>
    <link>http://www.causeries-numeriques.fr/post/2007/06/13/Manipulation-de-tags-mp3-avec-Perl-Ruby-et-Python</link>
    <guid isPermaLink="false">urn:md5:2516246ceeeb3ede44e198d20a43a497</guid>
    <pubDate>Wed, 13 Jun 2007 08:49:00 +0200</pubDate>
    <dc:creator>jb</dc:creator>
        <category>Des pingouins et des hommes</category>
        <category>id3</category><category>mp3</category><category>perl</category><category>python</category><category>ruby</category>    
    <description>&lt;p&gt;Pour les petits scripts de quelques lignes, trois langages se partagent le terrain&amp;nbsp;: Perl, Python et Ruby. Le problème du jour est la modification de &lt;em&gt;tags&lt;/em&gt; ID3 ainsi que le renomage de fichiers.&lt;/p&gt;    &lt;h3&gt;Présentation du problème&lt;/h3&gt;

&lt;p&gt;Je podcast l'émission &lt;a href=&quot;http://www.rtl.fr/radio/emission.asp?dicid=504270&quot;&gt;Le grand juron&lt;/a&gt; en utilisant iPodder. Le problème est que les fichiers reçus sont stockés avec un nom du style&amp;nbsp;: &lt;code&gt;podcasting_temp_0000541_541680.mp3?podName=LEGDJURON&lt;/code&gt; et ils n'ont pas d'extension &lt;code&gt;.mp3&lt;/code&gt;.
Le nom n'est pas vraiment explicite pour retrouver une émission quelconque. Généralement, pendant l'écoute, je mets le tag &lt;em&gt;title&lt;/em&gt; à la date du jour.
Le but de ces scripts est de sauvegarder le fichier sous la forme &lt;code&gt;jour mois année.mp3&lt;/code&gt; et de mettre le nom de l'émission dans le tag &lt;em&gt;artist&lt;/em&gt;.&lt;/p&gt;


&lt;h3&gt;En Perl&lt;/h3&gt;


&lt;h4&gt;Pré requis&lt;/h4&gt;


&lt;p&gt;De nombreux module permettent de traiter les fichiers mp3, j'ai retenu &lt;code&gt;MP3::Info&lt;/code&gt; présent sur le CPAN à l'adresse &lt;a href=&quot;http://search.cpan.org/~daniel/MP3-Info-1.22/lib/MP3/Info.pm&quot;&gt;mp3info&lt;/a&gt;. Pour l'installer, il y a trois ligne de commande à taper&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt; perl Makefile.PL  
 make
 sudo make install&lt;/pre&gt;


&lt;h4&gt;Le script&lt;/h4&gt;


&lt;p&gt;Il est très simple, on construit la liste des fichiers à traiter avec un &lt;code&gt;glob&lt;/code&gt; et on utilise le module pour lire et modifier les tags.&lt;/p&gt;

&lt;code class=&quot;perl&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/usr/bin/perl -w&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;use&lt;/span&gt; MP3::&lt;span style=&quot;color: #006600;&quot;&gt;Info&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;foreach&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$fichier&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.perldoc.com/perl5.6/pod/func/glob.html&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;glob&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'*LE*'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.perldoc.com/perl5.6/pod/func/print.html&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;print&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$fichier&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;my&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$mp3&lt;/span&gt; = MP3::&lt;span style=&quot;color: #006600;&quot;&gt;Info&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$fichier&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$mp3&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;artist&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Le grand juron'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.perldoc.com/perl5.6/pod/func/rename.html&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;rename&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$fichier&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$mp3&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;title&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.mp3&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;



&lt;h3&gt;En Ruby&lt;/h3&gt;


&lt;h4&gt;Pré requis&lt;/h4&gt;


&lt;p&gt;Un module (&lt;em&gt;gem&lt;/em&gt;) est nécessaire pour pouvoir lire et modifier les tags mp3. Pour installer le &lt;em&gt;gem&lt;/em&gt; &lt;code&gt;ruby-mp3info&lt;/code&gt;, il suffit d'utiliser la commande &lt;code&gt;sudo gem install ruby-mp3info&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;L'API est disponible sur &lt;a href=&quot;http://ruby-mp3info.rubyforge.org/&quot; hreflang=&quot;en&quot;&gt;mp3info&lt;/a&gt;&lt;/p&gt;


&lt;h4&gt;Le script&lt;/h4&gt;


&lt;p&gt;Le script n'est pas très différent de celui en Perl, rien de bien sorcier.&lt;/p&gt;

&lt;code class=&quot;ruby&quot;&gt;&lt;span style=&quot;color:#008000; font-style:italic;&quot;&gt;#!/usr/bin/ruby -w&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;require&lt;/span&gt; &lt;span style=&quot;color:#996600;&quot;&gt;&amp;quot;rubygems&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;require&lt;/span&gt; &lt;span style=&quot;color:#996600;&quot;&gt;&amp;quot;mp3info&amp;quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Dir.&lt;span style=&quot;color:#9900CC;&quot;&gt;glob&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color:#996600;&quot;&gt;&amp;quot;*LE*&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;do&lt;/span&gt; |fichier|&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;puts&lt;/span&gt; &lt;span style=&quot;color:#996600;&quot;&gt;&amp;quot;#{fichier}&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nom = ''&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Mp3Info.&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;open&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;fichier&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;do&lt;/span&gt; |infos|&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;infos.&lt;span style=&quot;color:#9900CC;&quot;&gt;tag&lt;/span&gt;.&lt;span style=&quot;color:#9900CC;&quot;&gt;artist&lt;/span&gt; = &lt;span style=&quot;color:#996600;&quot;&gt;&amp;quot;Le grand juron&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nom = infos.&lt;span style=&quot;color:#9900CC;&quot;&gt;tag&lt;/span&gt;.&lt;span style=&quot;color:#9900CC;&quot;&gt;title&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; File.&lt;span style=&quot;color:#9900CC;&quot;&gt;rename&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;fichier,nom+&lt;span style=&quot;color:#996600;&quot;&gt;&amp;quot;.mp3&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;br /&gt;
&lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;/code&gt;


&lt;h3&gt;En Python&lt;/h3&gt;


&lt;h4&gt;Pré requis&lt;/h4&gt;


&lt;p&gt;J'ai un peu cherché pour trouver un module permettant de lire/modifier les tags. Mon choix s'est porté sur &lt;a href=&quot;http://id3-py.sourceforge.net/&quot;&gt;ID3&lt;/a&gt;. Sur le site web (un peu vieux), il est annoncé que ce module est présent dans les distributions Debian, l'est-il sur Ubuntu&amp;nbsp;? Un petit&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt; sudo aptitude install python-id3&lt;/pre&gt;

&lt;p&gt;me permet de constater que oui&amp;nbsp;!&lt;/p&gt;


&lt;h4&gt;Le script&lt;/h4&gt;


&lt;p&gt;Pas beaucoup de différences non plus...&lt;/p&gt;

&lt;code class=&quot;python&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/usr/bin/python&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #dc143c;&quot;&gt;glob&lt;/span&gt;, &lt;span style=&quot;color: #dc143c;&quot;&gt;os&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;from&lt;/span&gt; ID3 &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;import&lt;/span&gt; *&lt;br /&gt;
&lt;br /&gt;
fichiers = &lt;span style=&quot;color: #dc143c;&quot;&gt;glob&lt;/span&gt;.&lt;span style=&quot;color: #dc143c;&quot;&gt;glob&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #483d8b;&quot;&gt;&amp;quot;*LE*&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; fichier &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; fichiers:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;print&lt;/span&gt; fichier&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mp3 = ID3&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;fichier&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mp3&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #483d8b;&quot;&gt;'ARTIST'&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt; = &lt;span style=&quot;color: #483d8b;&quot;&gt;'Le grand juron'&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mp3.&lt;span style=&quot;color: black;&quot;&gt;write&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #dc143c;&quot;&gt;os&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;rename&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;fichier,mp3&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #483d8b;&quot;&gt;'TITLE'&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;+&lt;span style=&quot;color: #483d8b;&quot;&gt;&amp;quot;.mp3&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/code&gt;


&lt;p&gt;Il n'est pas possible de simplifier les deux premières lignes en&amp;nbsp;:&lt;/p&gt;
&lt;code class=&quot;python&quot;&gt;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; fichier &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #dc143c;&quot;&gt;glob&lt;/span&gt;.&lt;span style=&quot;color: #dc143c;&quot;&gt;glob&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #483d8b;&quot;&gt;&amp;quot;*LE*&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:&lt;/code&gt;



&lt;h3&gt;Tests des différents scripts&lt;/h3&gt;


&lt;h4&gt;Version utilisées des différents langages&amp;nbsp;:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Perl&amp;nbsp;: 5.8.7&lt;/li&gt;
&lt;li&gt;Ruby&amp;nbsp;: 1.8.4&lt;/li&gt;
&lt;li&gt;Python&amp;nbsp;: 2.4.3&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Système Ubuntu 6.06&lt;/p&gt;


&lt;h4&gt;Temps de conversion avec l'affichage du nom du fichier&lt;/h4&gt;

&lt;p&gt;Pour comparer (un peu...) les différents script, l'utilitaire &lt;code&gt;time&lt;/code&gt; du shell a été utilisé. Les scripts ont été testés sur des paquets de 10,20 et 50 fichiers. Les résultats (approximatifs) sont dans le tableau ci-dessous&amp;nbsp;:&lt;/p&gt;
&lt;table&gt;
  &lt;tr&gt; &lt;td&gt;Langage&lt;/td&gt; &lt;td&gt;10 fichiers&lt;/td&gt; &lt;td&gt;20 fichiers&lt;/td&gt; &lt;td&gt;50 fichiers&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt; &lt;td&gt;Perl&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;td&gt;env. 1.5s&lt;/td&gt; &lt;td&gt;end. 3s&lt;/td&gt; &lt;/tr&gt;
  &lt;tr&gt; &lt;td&gt;Python&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;td&gt;env. 2s&lt;/td&gt; &lt;/tr&gt;
  &lt;tr&gt; &lt;td&gt;Ruby&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;td&gt;env. 15s&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;



&lt;p&gt;Sur le lot de 50 fichiers, Ruby freine brutalement au milieu du lot de fichier et le disque dur s'affole. Le problème provient probablement de l'accès aux fichiers.&lt;/p&gt;


&lt;h4&gt;Temps de conversion sans affichage du nom du fichier&lt;/h4&gt;

&lt;table&gt;
  &lt;tr&gt; &lt;td&gt;Langage&lt;/td&gt; &lt;td&gt;10 fichiers&lt;/td&gt; &lt;td&gt;20 fichiers&lt;/td&gt; &lt;td&gt;50 fichiers&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt; &lt;td&gt;Perl&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;td&gt;env. 2s&lt;/td&gt; &lt;/tr&gt;
  &lt;tr&gt; &lt;td&gt;Python&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;/tr&gt;
  &lt;tr&gt; &lt;td&gt;Ruby&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;td&gt;env. 1s&lt;/td&gt; &lt;td&gt;env. 14s&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;



&lt;h4&gt;Bilan&lt;/h4&gt;


&lt;p&gt;Après plusieurs séries de tests, les temps sont dans le même ordre. Il n'y a pas de grosse différences entre les trois langages sauf sur les gros lots de fichier pour lesquels Ruby freine à mis parcours.
D'ailleurs quelqu'un sait pourquoi ?...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.causeries-numeriques.fr/post/2007/06/13/Manipulation-de-tags-mp3-avec-Perl-Ruby-et-Python#comment-form</comments>
      <wfw:comment>http://www.causeries-numeriques.fr/post/2007/06/13/Manipulation-de-tags-mp3-avec-Perl-Ruby-et-Python#comment-form</wfw:comment>
      <wfw:commentRss>http://www.causeries-numeriques.fr/feed/rss2/comments/6</wfw:commentRss>
      </item>
    
</channel>
</rss>
