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ème avec python et la fonction split


Sujet :

Python

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut problème avec python et la fonction split
    Salut.

    Je développe une application avec python3 et j'ai besoin de faire une segmentation à un texte qui contient un ensemble de paragraphe avec la fonction split() mais en utilisant plusieurs séparateur à la fois comme le point, le point virgule, le point d'interrogation, d'exclamation, ainsi que le retour a la ligne. Ça vous dit quelques choses ?

    N.B : j'arrive juste a réaliser le Split avec un seul séparateur.

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Là les regex c'est pas mal avec re.split()
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    @bebemyouler : je pense tu souhaites obtenir la liste ["vive","developpez","com"] à partir de la chaine "vive ! developpez.com". Si c'est bien cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import re
    >>> chaine = "vive! developpez.com"
    >>> re.split("[!.]", chaine)
    ['vive', ' developpez', 'com']
    L'expression régulière "[!.]" indique qu'on recherche chacun des caractères entre les crochets.


    @fred1599 : bien joué

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut problème avec python et la fonction split
    Merci pour ta réponse , c'est très gentille de votre part , mais dans le cas ou on a un retour a la ligne , ou un retour a la ligne avec un signe de ponctuation on va faire comment ??!!

  5. #5
    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 bebemyouler Voir le message
    Merci pour ta réponse , c'est très gentille de votre part , mais dans le cas ou on a un retour a la ligne , ou un retour a la ligne avec un signe de ponctuation on va faire comment ??!!
    Le retour à la ligne est un caractère comme un autre qui s'écrit "\n", donc on peut éventuellement l'inclure dans le "pattern":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    re.split("[!.\n]", chaine)
    "re.split" ne va pas forcément traiter tous les cas, à vous de voir.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    MErciiiiiii

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut calcule avec python
    on arrive comment a calculer la taille d'un document avec python ??

  8. #8
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Le poids d'un fichier tu veux dire ? On peut aussi distinguer la taille du fichier et la taille occupée sur le disque (de part l'utilisation des blocs). Je ne sais pas laquelle des 2 tailles renvoie la fonction décrite mais http://python.developpez.com/faq/?page=Fichier#SizeFile devrait faire ton bonheur.

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Je veux le nombre de mots dans un documents

  10. #10
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    On dit "je voudrais" !

    Ce que tu souhaites n'a en soi rien à voir avec la taille d'un document ^^

    En première idée, je dirais lire le fichier ligne par ligne, et pour chaque ligne compter le nombre de mot (grâce à split) ? Mais Python propose peut-être des fonctions plus poussées que je ne connais pas.

  11. #11
    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 bebemyouler Voir le message
    Je veux le nombre de mots dans un documents
    Python ne connaît que les fichiers qui sont des suites de caractères ou des suites de lignes de caractères (s'ils sont "text").

    A partir de là, on peut construire une abstraction appelée "document" et même imaginer qu'elle contient des "mots".
    Si vous ne prenez pas la peine de définir plus précisément ce que signifient ces mots, il sera difficile de vous répondre.

    Je vous signale aussi les questions de "hajara" semblables dans le post
    auxquelles des réponses ont déjà été apportées.

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

  12. #12
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    post en double, sorry
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  13. #13
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Tu as tout ce qu'il faut pour faire le boulot

    Juste une indication, tu peux avoir toutes les ponctuations existantes en utilisant le module string

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    from string import punctuation
    print(punctuation) # version python ?
    En outre il est simple, comme le dit bktero de combiner tout ça pour chaque ligne de ton texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    re.split('[{}]'.format(punctuation), chaine)
    Pour lire chaque ligne on peut les placer dans une liste avec readlines()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    with open('tonfichier.txt', 'r') as f:
        lines = [line.strip('\n') for line in f.readlines()]
        for line in lines:
            # utilisation de re.split() voir ci-dessus
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  14. #14
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Merciii pour vos Réponse
    Mais jarrive pas a trouvé la suite

  15. #15
    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
    pensez à
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. problème avec un appel de fonction de callback de C++ vers C#
    Par surfurax dans le forum Framework .NET
    Réponses: 1
    Dernier message: 29/01/2007, 10h09
  2. [DOM XML] Problème avec l'une des fonctions
    Par Joe Le Mort dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 08/11/2006, 15h20
  3. Problème avec la signature des fonctions dll
    Par mdefo dans le forum MATLAB
    Réponses: 1
    Dernier message: 20/09/2006, 14h23
  4. Problème avec python
    Par Thrystan dans le forum Gnome
    Réponses: 2
    Dernier message: 17/08/2006, 00h29
  5. [PL SQL] Problème avec 'case' dans une fonction
    Par divail dans le forum Oracle
    Réponses: 14
    Dernier message: 13/03/2006, 15h50

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