IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Problématique niveau débutant


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    artiste
    Inscrit en
    Février 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : artiste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Problématique niveau débutant
    Bonjour messieurs,

    J'ai quelques difficultés à effectuer ce que je veux, pourriez-vous me filer un coup de main ?

    Problématique :

    J'ai 2 fichiers :

    Fichier0 contient des URLs
    Fichier1 contient des mails

    La majorité des noms de domaine (NDD) qui sont présents dans les mails du Fichier1 sont présents dans les URLs du Fichier0.

    Je cherche à supprimer du Fichier1 les lignes (les mails) dont les NDD sont présents dans le Fichier0 et à les écrire dans un Fichier2, ainsi qu'à supprimer du Fichier0 les lignes (les URLs) dont les NDD sont présents dans le Fichier1 et à les écrire dans un Fichier3.

    Tel que :

    match0 = NDD juste avant l'ENDD (extension de nom de domaine)*** (liste qui doit être dans un tableau, disponible plus bas)

    match1 = NDD ([a-z][0-9], '-') après '@' et avant le '.' qui suit ce '@' (y'en a d'autres avant le '@' attention) dans fichier1

    L'algorithmique ressemblerait à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if match1 in Fichier1 in line 1 == match0 in Fichier0
    	 copier ligne of Fichier0 in Fichier2
    	 copier ligne of Fichier1 in Fichier3
    	 supprimer ligne of Fichier0
    	 supprimer ligne of Fichier1
    boucle sur tout le Fichier1 (++, passer à la line 2 et ainsi de suite)
    ---

    exemple Fichier0 =

    http://test.match1.com/
    http://match2.fr/
    http://test.test.match-0.net/ (il peut donc y avoir un trait d'union)

    exemple Fichier1 =

    test_test@match-0.net
    test-test@match1.com
    test.test@match3.fr


    *** liste des extensions de noms de domaine (ENDD) :

    .com
    .gouv
    .net
    .org

    ---

    On m'a dit que je pouvais utiliser le module 'tldextract' ou encore 'urllib' mais le module 're' me semble plus approprié...

    Pour le fun, voici mon super script d'un langage encore inconnu et ressemblant au python :

    ---

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import re
     
    ENDD = ['.com','.gouv','.net','.org']
    match0 = [a-z][0-9][-] before ENDD # 'before' pq je sais pas cmt le dire
    match1 = [a-z][0-9][-] after '@' and before '.' which is after '@' # ahem
     
    Fichier2=[]
    Fichier3=[]
    Fichier1 = re.search(match1)
    Fichier0 = re.search(match0)
     
    if match1 == match0
    print line where match1 is in Fichier3
    print line where match0 is in Fichier2
    do ++
    ---

    J'ai quelques lacunes en programmation... Visiblement ! Pourriez-vous m'aider ? Merci !

  2. #2
    Candidat au Club
    Homme Profil pro
    artiste
    Inscrit en
    Février 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : artiste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Je vais tenter de clarifier pour avoir une réponse...

    J'ai 2 fichiers :

    URLs_input.txt
    mails_input.txt

    La majorité des noms de domaine (NDD) qui sont présents dans mails_input.txt sont présents dans URLs_input.txt

    Je cherche à supprimer de mails_input.txt les lignes (les mails) dont les NDD sont présents dans le URLs_input.txt et à les écrire dans mails_output.txt, ainsi qu'à supprimer de URLs_input.txt les lignes (les URLs) dont les NDD sont présents dans le mails_input.txt et à les écrire dans URLs_output.txt.

    Exemples inputs :

    mails_input.txt :

    bonjour@ndd-1.com
    hello-hello@ndd-2.co.uk
    admin@ndd-3.co.au
    salut@ndd-4.fr

    URLs_input.txt :

    http://sous-domaine.ndd-1.com
    https://ndd-2.co.uk
    http://www.ndd-4.fr
    http://ndd-5.co.au

    Exemples d'outputs souhaité :

    mails_input.txt :

    admin@ndd-3.co.au <-- les e-mails dont les NDD n'ont pas matché avec les NDD des URLs restent dans le fichier mails_input.txt

    URLs_input.txt :

    http://ndd-5.co.au <-- les URLs dont les NDD n'ont pas matché avec les NDD des e-mails restent dans le fichier URLs_input.txt

    mails_output.txt :

    bonjour@ndd-1.com <-- les e-mails de mails_input.txt dont les NDD ont matché avec les NDD des URLs dans URLs_input.txt vont dans le fichier mails_output.txt
    hello-hello@ndd-2.co.uk
    salut@ndd-4.fr

    URLs_output.txt :

    http://sous-domaine.ndd-1.com <-- les URLs de URLs_input.txt dont les NDD ont matché avec les NDD des e-mails dans mails_input.txt vont dans le fichier mails_output.txt
    https://ndd-2.co.uk
    http://www.ndd-4.fr

    En espérant avoir une réponse...

    Merci !

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    1. Dresser la liste des noms de domaine présent dans URLs_input.txt (liste 1)
    2. Dresser la liste des noms de domaine présent dans mails_input.txt (liste 2)
    3. Recréer le texte de mails_input.txt en ne conservant que les lignes ne contenant pas de ndd de la liste 1 (texte 1)
    4. Écrire mails_input.txt avec le nouveau texte 1
    5. Recréer le texte URLs_input.txt en ne conservant que les lignes ne contenant pas de ndd de la liste 2 (texte 2)
    6. Écrire URLs_input.txt avec le nouveau texte 2
    6. Créer mails_output.txt avec la liste 1
    7. Créer URLs_output.txt avec la liste 2

    yapluka.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par alexisduval29 Voir le message
    En espérant avoir une réponse...
    Vous auriez probablement plus de réponses s'il s'agissait de vous aider à comprendre quelques unes des subtilités de Python pour réaliser:
    • l'exercice d'un tuto. ou
    • un des détails de votre programme,

    Si vous attendez que quelqu'un prenne le temps d'écrire le code à votre place, je doute que grand monde ait du temps pour çà.
    Si vous ne connaissez rien à Python mais que vous savez déjà programmer, essayez de parcourir le python tutorial. Vous y trouverez une présentation des types et constructions de bases avec des exemples qui vous permettront de commencer. Si vous ne savez pas programmer, le tuto. recommandé sera le Swinnen.
    Effectivement, apprendre prendra du temps et reportera quelque peu la réalisation de votre code.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/02/2007, 09h48
  2. [Conseil] Livre Algo-maths niveau débutant
    Par spilliaert dans le forum Débuter
    Réponses: 11
    Dernier message: 21/04/2006, 19h57
  3. [MFC] Lire une string (niveau débutant)
    Par Korskarn dans le forum MFC
    Réponses: 10
    Dernier message: 24/08/2005, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo