Salut
En python diff.py et  uniq.py pourrait être écrit comme ça par exemple:

--diff.py

#!/bin/python
import difflib
with open('test.txt')as t1:
    with open('test1.txt') as t2:
       diff_gen =difflib.ndiff(
               t1.readlines(),t2.readlines())
       out=[]
       for diff in diff_gen:
           if "-" in diff or "+" in diff:
               out.append(
                   diff.replace("-", "").replace("+","")
                )
       open('test3.txt','wb').write("\n".join(out))


--uniq.py

#!/bin/python
with open('test.txt')as t1:
        with open('test1.txt') as t2:
            open('test2.txt','wb').write(
                "\n".join(set(t1.readlines()+ t2.readlines()))
            )

Mais le mieux c'est le shell je pense!
—Ad





Le 17 septembre 2013 22:06, Alioune Dia <[email protected]> a écrit :
> Salut
>
> Le 12 septembre 2013 11:40, Mor Talla Gueye <[email protected]> a écrit :
>> Bonjour la liste,
>> Je voudrais copie le differentiel de deux fichiers dans un autre j'ai fait
>> un programme mais je comprend pas pour quoi ça marche pas.
>> Je fichier nomme SignatureDansPostalia devrait contenir le differentiel mais
>> apres execution, j'ai tjrs un fichier vide.
>>
>
> Je ne sais pas ce que Tu veux faire , mais si  'différentiel de deux fichiers'
> veut dire union distinct de deux fichiers test.txt et de text1.txt ,
> il faut faire :
>
> --test.text contient
>
> 001
> 002
> 003
> 004
> 007
> --test1.txt contient
> 001
> 002
> 003
> 005
> 006
>
> Ton script uniq.sh doit contenir
> #!/bin/sh
> cat test1.txt test.txt |
> sort                        |
> uniq                       > text2.txt
>
> --
> Et il donnera comme resultat
> 001
> 002
> 003
> 004
> 005
> 006
> 007
>
> Mais si  'différentiel de deux fichiers' veut dire  le contenu
> distinct entre les
> deux fichiers il faut faire le script diff.sh qui contiendra  :
> #!/bin/sh
>
> diff test1.txt test.txt |
> grep -e  '[<>]'          |
> sed      's/^<//g'       |
> sed      's/^>//g'      >test3.text
>
> --
> et qui donnera comme résultat
>  005
>  006
>  004
>  007
>
> Dans ce genre de traitement le shell est le meilleurs choix , mais on peut le
> faire aussi en Python c'est comme tu le sens.
> --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 à