Forum de l'arc désordre
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Forum de l'arc désordre


 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Cdiscount : -30€ dès 300€ d’achat sur une sélection Apple
Voir le deal

 

 Le programme

Aller en bas 
2 participants
AuteurMessage
jay




Nombre de messages : 6
Date d'inscription : 15/04/2006

Le programme Empty
MessageSujet: Le programme   Le programme EmptyMar 18 Avr - 3:27

Voici le programme à enregistrer dans un fichier "melting.py"
et à executer suivi du nom du texte a traduire et du nom du texte résultant. eg: python melting.py samedi.txt samedi_traduit.txt


#!/usr/bin/python
# -*- coding: utf-8 -*-

from random import *
#import des methodes aléatoires

from string import *
#import des gestion de chaines

import sys
#import de l'objet sys qui gere l'environnement

import codecs
#import de l'objet codecs
#qui permet l'ouverture d'un
#fichier en UTF-8 (entre autre)

import re
#import des reg exp

#LES FONCTIONS
#*************

#fonction mélanger prend une chaine et renvoie une chaine
def mel(mot):
a=list(mot)
shuffle(a)
a=join(a,"")
return a

#fonction qui gere en fonction du mot
def env(mot):
#gestion . .. ... ??? !! ?? .. etc...
pTrois=re.compile('\W{1,5}$').search(mot)

#gestion ' (exemple "l'arrivé")
pApo=re.compile("['`-]").search(mot)

#gestion debut "mot ou (mot ou -mot
pDeb=re.compile('^[\(\"]').search(mot)

#gestion des chiffres
pChif=re.compile('[0-9]').search(mot)

if pChif:
print "**chiffre"
return mot

test="pas de changement"

if pTrois:
deb=mot[:1]
fin=mot[pTrois.start()-1:]
milieu=mot[1:pTrois.start()-1]
test="youpi"
if pApo:
deb=mot[:pApo.start()+1]
milieu=mot[pApo.start()+1:pTrois.start()-1]
test="youpi2"
else:
deb=mot[:1]
fin=mot[-1:]
milieu=mot[1:-1]
test="bof"
if pApo:
deb=mot[:pApo.start()+1]
milieu=mot[pApo.start()+1:-1]
test="youpi2"

#On recolle les morceaux et roule!
print ".",

return deb+mel(milieu)+fin

def traitement(phrase, cao):
#ON DÉCOUPE LES MOTS
mots=re.split(r'(\s+)', phrase)

#On calcul le nombre de mot à modifier
chao=int(cao)*len(mots)/10

#On crée la liste des identifiants des mots
lg=range(len(mots))

#On prend qq mots en fonction du chaos souhaité
for i in sample(lg, chao):
#on zappe les mots trop courts
if len(mots[i])>4:
mots[i]=env(mots[i])
#on renvoie la phrase
return join(mots,'')


#le main
#-------

if len(sys.argv)>1:
#Si les arguments sont donné
print "Début du traitement",
else:
#Sinon on donne l'usage et on quitte proprement
print "Utilisation:"
print "./melting <fichier texte à traduire> <fichier texte traduit> [Entrée]"
sys.exit(37)

#Ensuite on traite le fichier
#en l'envoyant dans un variable
#qui prend tout sous forme d'une longue chaine
texte=open(sys.argv[1]).read()

#Le texte en utf8 est décodé
texte=codecs.decode(texte,'utf8')

#ensuite on split en section
sect=texte.split("@")

#et on enregistre chaque section et son tx de kao
kao=[]
sections=[]
for i in sect:
if len(i)>0:
kao.append(i[0])
sections.append(i[2:])

#On ouvre le fichier de sortie
sorti=open(sys.argv[2],"w")

#Pour chaque section on envoi le traitement
#et on enregistre dans le fichier de sortie
for i in range(len(sections)):
sorti.write(codecs.encode(traitement(sections[i],kao[i]),'utf8'))
Revenir en haut Aller en bas
f.mangeol




Nombre de messages : 5
Localisation : saint-etienne
Date d'inscription : 27/01/2006

Le programme Empty
MessageSujet: Re: Le programme   Le programme EmptyMar 2 Mai - 14:42

bel........ cheers
Revenir en haut Aller en bas
 
Le programme
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Le texte pour le programme
» Le programme derniere version

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum de l'arc désordre :: Discussions générales-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser