python3 - socket python 3
¿Cómo puedo lanzar una instancia de una aplicación usando Python? (6)
Estoy creando un script de Python en el que realiza un conjunto de tareas y una de esas tareas es iniciar y abrir una instancia de Excel. ¿Cuál es la forma ideal de lograr eso en mi script?
Me gusta popen2 por la capacidad de monitorear el proceso.
excelProcess = popen2.Popen4("start excel %s" % (excelFile))
status = excelProcess.wait()
http://www.python.org/doc/2.5.2/lib/module-popen2.html
EDITAR : tenga en cuenta que llamar a wait () se bloqueará hasta que vuelva el proceso. Dependiendo de su secuencia de comandos, esta puede no ser su conducta deseada.
o
os.system("start excel.exe <path/to/file>")
(suponiendo que está en la ruta, y estás en Windows)
y también en Windows, simplemente start <filename>
también, si ya tiene una extensión asociada (como sería xls)
os.system ("archivo abierto.xls")
El módulo de subproceso tiene la intención de reemplazar varios otros módulos y funciones anteriores, tales como:
- os.system
- os.spawn *
- os.popen *
- popen2. *
- comandos. *
.
import subprocess
process_one = subprocess.Popen([''gqview'', ''/home/toto/my_images''])
print process_one.pid
Como otros han declarado, sugeriría os.system. En caso de que alguien esté buscando una solución compatible con Mac, aquí hay un ejemplo:
import os
os.system("open /Applications/Safari.app")
Si bien las respuestas de Popen
son razonables para el caso general, recomendaría win32api
para este caso específico, si desea hacer algo útil con él:
Es algo parecido a esto:
from win32com.client import Dispatch
xl = Dispatch(''Excel.Application'')
wb = xl.Workbooks.Open(''C://Documents and Settings//GradeBook.xls'')
xl.Visible = True # optional: if you want to see the spreadsheet
Tomado de una publicación de la lista de correo pero hay muchos ejemplos alrededor.