Python

Initiation à Python

    Python permet de faire découvrir les structures de langage pour la programmation objet. Structuré, solide et multiplateforme, il est particulièrement utilisé comme langage de script pour automatiser les tâches simples, fastidieuses et répétitives grâce à sa simplicité en matière de développement et d'exploitation.

    Dans cet exercice, le but etait de nettoyer une page, d'en extraire des informations que l'on devait afficher dans un fichier. J'ai choisi un site facile, mais j'ai eu malgré tout des petits soucis dans le nettoyage de la page.

    import urllib, re

    url = urllib.urlopen("http://www.bourricot.com/CoupDeCoeur/VieuxSite/VieuxSite.html")

    #permet de dialoguer avec l'url

    codehtml = url.read()

    #procédure de nettoyage AVANT de recopier dans le fichier de sortie

    # nettoyage des balises texte = re.sub("<.*?(\n.*?)*?>","",codehtml) #PERMET DE NETTOYER LE TEXTE texte = re.sub("©","",texte) #PERMET DE NETTOYER LE TEXTE texte = re.sub("<.*?>","",texte) #ON NETTOIE LES BALISES expr = re.compile("\W+",re.U) #CHERCHE DES CARACTERES NON ALPHANUMERIQUES

    print texte #ECRIT LE RESULTAT OBTENU DANS PYTHON

    fichier = open("pagenettoyee.txt","w")

    fichier.write(texte)

    fichier.close()

    # Statistiques :

    infostat = open("infostat.txt","w")

    infostat.write("Ce fichier contient "+str(len(texte))+ " caractères.\n")

    expr = re.compile("\W+",re.U) # expr = expression

    liste = expr.split(texte)

    print liste

    infostat.write("Le fichier contient "+str(len(liste))+" mots et "+str(len(set(liste)))+" mots différents.\n")

    infostat.write(" ".join(sorted(set(liste),key=str.lower)))

    listeord = sorted(set(liste),key=str.lower)

    dicoFreq = {}

    for mot in liste: if mot not in dicoFreq: # si le mot n'existe pas déjà dans le dictionnaire dicoFreq[mot] = 1 # alors il prend une valeur de 1 else: dicoFreq[mot] = dicoFreq[mot]+1 # sinon il existe et sa valeur est égale à sa valeur précédente plus 1

    for clef in sorted(dict.iterkeys(dicoFreq)): infostat.write(clef+"\t" +str(dicoFreq[clef]) +"\n")

    infostat.close()

    Infostat

    Python est un excellent outil informatique, notamment pour les linguistes, car il permet de faire toute sortes de choses, comme vous pouvez le voir dans mon second script, il permet aussi de calculer la longueur totale du texte, récuperer une liste de mots, calculer la moyenne du nombre de mots(...)