TPYCODE, TRADUCTEUR DE CODE

GeroXXXX Messages postés 12 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 9 février 2012 - 9 févr. 2012 à 02:18
GeroXXXX Messages postés 12 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 9 février 2012 - 9 févr. 2012 à 02:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53982-tpycode-traducteur-de-code

GeroXXXX Messages postés 12 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 9 février 2012
9 févr. 2012 à 02:18
Plus de 300 lignes pour ça ! o_O
Moi j'aurais plus fais comme ça :
# Tous les mots clefs et leur traduction dans le dictionnaire trad
trad = {"string":"chaine", "class":"classe", "if":"si", "else":"sinon"} # etc...
# Ouverture du fichier, lecture et fermeture
f=open(chfichier,'r')
chaine51=f.read()
f.close()
# Pour tous les mots dans trad, remplace les mots
for anglais, francais in trad.items():
chaine51.replace(francais,anglais)
# Réouverture du fichier, écriture et fermeture.
f=open(chfichier,'w')
f.write(chaine51)
f.close()

Tu économises à peu près 300 lignes de code, tu n'ouvres/fermes pas le fichier 50 fois mais plus qu'une seule pour la lecture et une pour la fermeture.

Reste plus qu'a modifier la boucle avec des conditions pour ne pas traduire les mots contenus entre "" par exemple, pour ne pas modifier les chaines de caratères, etc... Sinon ça peut être gênant :)

Have fun :)
Rejoignez-nous