1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
#! /usr/bin/python3.5
# -*-coding:UTF-8 -*
# ce code contient des parties excraite de la page
# ce script python sera appelé par le script en ligne de
# commande lire_texte_sécectionné, il prend en paramètre de ligne de commande une chaine de caractère
# la parcour et recherche dans la table de caractère spéciaux si il existe une correspondance
# si c'est le cas on remplace le caractère par son nom dans
# la chaine de sortie
# ce script prend en paramère une chaine de caractère et remplace les caractère spéciaux par leur nom
# obligation vous ai faite de citer les auteurs
# pour chaque caractère que contient la variable j
# rechercher si ce dernier est dans le fichier tab_caractère.csv
# si le caractère est trouvé, alors le remplacer par son nom indiqué dans le ficher et l'envoyer à la systès vocal
# auteur Battant
# licence gpl v3 : ce script est sous licence gpl v3 chaque personne qui travaillle sur ce script aura le droit de ce faire payer ou non pour sa partie
# ce script contient du code extrait de la page : http://stackoverflow.com/questions/8984287/execute-php-code-in-python
import sys, traceback # ligne issus de : https://docs.python.org/3.5/library/traceback.html
import subprocess
import os
def runcommand (command) :
"""
code extrait de :
https://docs.python.org/3.5/library/subprocess.html
http://stackoverflow.com/questions/2804543/read-subprocess-stdout-line-by-line """
output = ""
try :
proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
outputbyte = proc.stdout.read()
output = outputbyte.decode()
except UnicodeEncodeError :
print ("Une erreur et survenue lors de la conversion de byte à string",sys.stderr())
traceback.print_exc(file=sys.stderr) # ligne issus de : https://docs.python.org/3.5/library/traceback.html
finally :
return output
output1 = ""
output2 = ""
if __name__ == "__main__" :
if len(sys.argv) < 2:
print ("veillez fournir en argument le code source que vous souhauter traiter en le plaçant entre guillement pour qu'il soit compréhensible par un moteur de synthèse vocale")
else :
i = 1
# parcourir la chaine de caractère
while i < len(sys.argv) :
# parcourir une chaine après l'autre et examiner chaque caractère
word = sys.argv[i]
outputWord = ""
print ("word=",word)
for j in word :
print ("j = ",j )
if (j == '.') :
print ("cat point")
output1 = runcommand("cat tab_carractère_spéciaux.csv | cut -f1 | grep \"\.\"")
else :
print ("cat normal")
output1 = runcommand ("cat tab_carractère_spéciaux.csv | cut -f1 | grep \"{0}\"").format(j)
if output1 != "" :
if output1 == (".") :
print ("grep point : ".output1)
output2 = runcommand("grep \"{0}\" tab_carractère_spéciaux.csv| cut -f2".format("\."))
elif output1 != "" :
print ("grep normal : ",output1)
output2 = runcommand("grep \"{0}\" tab_carractère_spéciaux.csv| cut -f2".format(output1))
print ("output 2 : ",output2 )
outputWord += output2
else :
print ("lettre normal : ",output1)
outputWord += word[i]
print ("outputWord=",outputWord)
i += 1 |
Partager