2008-10-29 25 views

Respuesta

10

Mientras que los Popen respuestas son razonables para el caso general, recomendaría win32api para este caso concreto, si usted quiere 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 a mailing list post pero hay muchos ejemplos alrededor.

+0

Si también desea ver la hoja de cálculo de Excel, debe agregar xl.Visible = True – panofish

0

os.system ("file.xls abierta")

+0

significa "abrir" el trabajo en la no-Mac Sistemas OS X? – mipadi

+0

Probablemente también funciona en NeXTstep. Pero ciertamente no es Windows o UNIX. Dado que la pregunta es acerca de Excel, supongo que OS X o Windows. – ephemient

8

o

os.system("start excel.exe <path/to/file>") 

(suponiendo que está en el camino, y está en Windows)

y también en Windows, solo start <filename> funciona, si ya es una extensión asociada (como xls sería)

+3

Tenga en cuenta que en Windows verá que la ventana de cmd se abre y se cierra rápidamente si '' os.system() '. En mi humilde opinión, es mejor usar 'os.startfile()'. – 10basetom

7

Me gusta popen2 por la capacidad de supervisar 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 el proceso vuelve. Dependiendo de su secuencia de comandos, esta puede no ser su conducta deseada.

7

El subproceso módulo tiene la intención de sustituir a varios otros, módulos y funciones más antiguos, como:

  • os.system
  • os.spawn *
  • os.popen *
  • popen2 . *
  • comandos. *

.

import subprocess 

process_one = subprocess.Popen(['gqview', '/home/toto/my_images']) 

print process_one.pid 
1

Como han dicho otros, sugeriría os.system. En caso de que alguien está buscando una solución compatible con Mac, aquí está un ejemplo:

import os 
os.system("open /Applications/Safari.app") 
Cuestiones relacionadas