Muchas veces me pasa que algunos usuarios quieren reproducir los textos hablados en python. Ahora bien, python es multiplataforma etc, pero por suerte para mí, todos mis usuarios usan solo windows y del Seven en adelante(ninguno debugea y quieren los últimos jueguitos así que nadie tiene xp), lo cual dice adiós a multiplataforma, el incoveniente que sigo teniendo es que algunos todavía quieren usar python 2.x(al pedo sino tienen idea, pero lo tienen), por suerte la mayoría usa 3.x (lo cual a veces lleva a inconvenientes entre las versiones de las bibiotecas)asi que para ahorrarme instalarlas decidí usar vbs y SAPI5 (vienen por defecto en windows), para resumir un simple código de como hago trampas para reproducir los textos.Como siempre lo bueno de python que cada uno lo usa como quiere!
import os, subprocess
def hablar():
global archivo
temporal=os.getenv("temp") #obtengo el path del directorio temp
nombre="\prueba.vbs" #nombre del archvo que voy a escribir
archivo= temporal+nombre #concateno el path y el nombre
arch=open(archivo,"w") #para crear el archvo en modo escritura
obligatorio = 'set speech = Wscript.CreateObject("SAPI.spVoice")'
texto=input("Escriba lo que desea decir: ")
cmd1= 'speech.speak "{}"'.format(texto) #le doy formato a la linea a escribir en el archivo
arch.write(obligatorio)
arch.write("\n"+cmd1)
arch.close()
hablar()
ejecutar="cscript " + archivo #declaro todo el comando a usar en cmd
out= subprocess.check_output(ejecutar) #ejecuto el comando
os.remove(archivo) #borro el *.vbs
Saludos
Deliberar sobre las versiones de python es como la religión, cada uno cree lo que quiere y no por eso es absoluto.
Cita de: tincopasan en 11 Julio 2016, 12:54 PM
... el incoveniente que sigo teniendo es que algunos todavía quieren usar python 2.x(al pedo sino tienen idea, pero lo tienen), por suerte la mayoría usa 3.x ...
No es tan así. Citando la wiki (https://wiki.python.org/moin/Python2orPython3) del propio python:
Citar
Python 2.x is legacy, Python 3.x is the present and future of the language
En muchísimas apps aún se usa 2.X. Eso no quita que en poco tiempo 3.X sea el standar, pero aún no lo es.
Saludos!
EDIT: Lectura interesante: http://learntocodewith.me/programming/python/python-2-vs-python-3/ (http://learntocodewith.me/programming/python/python-2-vs-python-3/)