[Python] Trouver un mot dans une chaîne

Bonjour,

Alors voilà, mon problème c'est que je voudrais écrire un script permettant de découper les fichiers sql en plusieurs parties s'ils sont trop gros pour être pris en charge par PhpMyAdmin.

J'aimerais, pour ça, savoir detecter la présence d'un mot dans une chaine de caractère (pour mon cas, detecter la présence de "CREATE")...

J'ai regardé dans le module string:
http://www.python.org/doc/current/lib/module-string.html

Mais là mon anglais n'est pas folichon :-(
Peut être avec la methode find () ou rfind () mais je ne comprend pas comment on les utilise....

Donc si quelqu'un sait, merci d'avance :-)

Kilian, débutant en tâche de fond.....

9 réponses

  1. Modérateur
    Voilà, c'est corrigé :-)

    Etant donné que le commentaire de phpmyadmin inclut l'adresse de son site, j'ai posé une condition si on le trouvait dans une chaine:

    def sql_cut (sql_file, dossier_accueil):
        fichier=open(sql_file,"r")
        sql_entier=fichier.read()
    
        separateur="\nCREATE"
        compteur=1
        intrus="http://www.phpmyadmin.net"
        
        for partie in sql_entier.split(separateur):
    
            try:
                ignorer=partie.index(intrus)
    
            except:
                
                 if len(partie.strip())>0:
                     
                     numero_fichier=str(compteur)
                     nom_entier=dossier_accueil+"part"+numero_fichier+".sql"
                     nouveau_fichier=open(nom_entier,"w")
                     nouveau_fichier.write(separateur+partie)
                     print nom_entier + " a été créé"
                     compteur=compteur+1


    J'espère juste que personne ne citera ce site dans le forum contenu dans la base de données :-))
    En tout cas ça marche ....

    Kilian, débutant en tâche de fond.....