Juste pour faire le ch*eur de service, Python ne vient pas du serpent gnak mais des Monty Python (dont tout programmeur devrait voir l'intégrale, même si mon préféré est La Vie de Brian)...

Si par hasard il y a des Linuxiens qui n'ont pas de bande passante, je dois pouvoir leur fournir les fichiers.

Le 19/11/2012 14:47, Alioune Dia a écrit :

salut

Oh que si nous somme entrain de résoudre un problème , plus
sérieux que tu peux l'imaginer


Séno Hervé Edorh
--
@alioune bnjr je pense que je me suis fait comprendre que je voulais
juste partager avec vous ce script en Perl et de voir si on pouvait
faire aussi court avec du Python. Je ne demande pas de m'aider à
résoudre un problème

--



Tu as beau trouvé que ceci est beau , mais rien
n'indique a un gosse de dix ans qu'on est entrain d'ouvrir
un fichier , de lire des tableaux et d'écrire dans un fichier

awk '!a[$0]++' < mon_fichier.txt > nouveau_fichier.txt



Par contre si je montre ca
a un gosse de Dix ans , si en plus il a tété l'anglais il comprends ,
rien quand lisant

file  =open('a.txt' , 'r')      # J'ouvre un fichier
# Dans l'apprentissage , je lui précise # juste que 'r' c'est un lecture (read)

file2 =open('b.txt' , 'w')    # J'ouvre un fichier
# Dans l'apprentissage , je lui précise
                                   # juste que 'w' c'est ecire (write)


lines =set(f.readlines()) # Comme il a tété l'anglais il sait que readline
                                   # c'est lire un fichier

file2.writelines(lines)      # writelines c'est ecire dans un fichier


tout ce qu'on est entrain de Faire le gosse le comprends en 10 minutes ,
( Pas étonnant que les Américains vont sur la lune  , pendant qu'on hume
l'air frais :)

trouvez un truc beau ,c'est bien mais se faire comprendre est
meilleur:

--

Perl -- Bigger and has a vowel.  However you'll note that it isn't
   a common english word; you'll have to know what you're doing to
   use it, especially with spell-checkers which otherwise complain
   that it looks like noise.

Python -- This is a Real English Word (honest, look it up!) that
   happens to refer to a type of snake, which you'll notice is an
   object.  With the two vowels, python is quite readable.


--Ad


Le 19 novembre 2012 14:25, Séno Hervé Edorh <[email protected] <mailto:[email protected]>> a écrit :

    @alioune bnjr je pense que je me suis fait comprendre que je
    voulais juste partager avec vous ce script en Perl et de voir si
    on pouvait faire aussi court avec du Python. Je ne demande pas de
    m'aider à résoudre un problème. Donc pour en venir à ce qu'on
    disait Je pense aussi que les goûts et les couleurs se discutent.
    J'aime bien ce code simple en Perl et je le trouve beau
    @antoine merci pour awk. Je vais bouquiner un peu dessus. J'y ai
    jamais touché

    On Nov 19, 2012 12:51 PM, "Alioune Dia" <[email protected]
    <mailto:[email protected]>> wrote:


        Salut

        Choisir un langage de programmation en se basant sur des criteres
        subjectifs (C'est beau, ce n'est pas beaux, c'est court , c'est
        long ), c'est bien , mais l'idéal c'est de se focaliser sur le
        problème que nous voulons résoudre dans un premier temps et
        ensuite
        sur les criteres esthétiques


        Si je dois écrire un programme informatique qui doit par exemple
        attendre qu'un programme  A dépose un fichier B dans un dossier
        D, pour le trier et le renommer en  E et dire au programme
        A j'ai fini mon travail, il est dans le dossier F, tu peux
        continuer
        ton travail. L'aspect tri devient une infime partie d'un
        problématique
        plus globale. Dans la réalité les choses sont plus complexes et
        gérer l'interaction est un défit, le meilleur langage selon
        moi c'est
        celui qui fixe un  problème réel  :)

        --
        Le 19 novembre 2012 11:14, Antoine Delvaux
        <[email protected] <mailto:[email protected]>> a écrit :

            Salut,

            Sans vouloir relancer la discussion sur la lisibilité
            d'une commande ou d'un bout de code [1], dans les
            'oneliners' et outils cli, il y a aussi awk qui est très
            efficace :

            awk '!a[$0]++' < mon_fichier.txt > nouveau_fichier.txt


        Mieux que sort -u  :), merci
--
            "sort -u" est effectivement pas mal aussi, mais a le
            désavantage de trier le fichier, alors que les solutions
            perl, python et awk ne trient rien du tout.

            Il est peut-être aussi utile d'expliquer cette expression
            awk (qui est quasiment identique à l'expression perl du
            début de la discussion), comme ça on appréhende la
            puissance de cet outil petit à petit.  L'explication est
            la suivante :

            - $0 est la ligne courante, cette expression va servir
            d'index au tableau (c'est le $_ en perl)
            - a[] est un tableau qui va contenir le compte du nombre
            de lignes identiques (c'est le $lignes en perl)
            - si l'expression donnée à awk est vraie, alors la ligne
            courante ($0) est copiée en sortie (ce qui sera le cas
            pour la première occurrence d'une ligne)
            - si l'expression donnée à awk est fausse, alors rien
            n'est ajouté à la sortie (ce qui sera le cas pour toutes
            les répétitions de ligne)

            La différence entre perl et awk, est qu'awk est un outil
            fait pour lire les fichiers, ligne par ligne, alors que
            perl est un langage de programmation (qui peut donc aussi
            lire des fichiers ligne par ligne).  C'est pourquoi il est
            nécessaire de lancer 'perl -n' qui, en fait, englobe
            l'expression donnée dans une boucle 'while' sur la lecture
            du fichier.

--
            Alors que les constructions de tableau dans les exemples
            python sont moins intuitives.


        -1

            >>> type(open('a.txt', "r").readlines())
            <type 'list'>


        Je n'ai pas besoin de construire quoi que ce soit ici,
        certainement pas
        un tableau :)
        --

            Bonne journée,

            Antoine.


            [1] La lisibilité d'un code peut fortement dépendre à quel
            langage et syntaxe on est habitué.  Ne mangeant pas du
            serpent tous les jours, il m'a fallu plus de temps pour
            comprendre l'exemple en python que celui en perl...  Et je
            parle ici de lisibilité ... la beauté ?  Encore plus
            subjectif....


        --Ad


--
Ce message a été envoyé à la liste [email protected]
Gestion de votre abonnement : http://dakarlug.org/liste
Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
Le site du DakarLUG : http://dakarlug.org

Répondre à