2008-10-29 17 views

Trả lời

10

Trong khi Popen câu trả lời là hợp lý đối với trường hợp chung, tôi muốn giới thiệu win32api cho trường hợp cụ thể này, nếu bạn muốn làm một cái gì đó hữu ích với nó:

Nó đi một cái gì đó như thế này:

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 

Lấy từ a mailing list post nhưng có rất nhiều ví dụ xung quanh.

+0

Nếu bạn muốn xem bảng tính excel, bạn cần thêm xl.Visible = True – panofish

0

os.system ("mở file.xls")

+0

Liệu "mở" làm việc trên phi Mac OS X hệ thống? – mipadi

+0

Có thể hoạt động trên NeXTstep. Nhưng chắc chắn không phải Windows hoặc UNIX. Cho rằng câu hỏi hỏi về Excel, tôi cho rằng OS X hoặc Windows. – ephemient

8

hoặc

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

(giả sử nó trong đường dẫn, và bạn đang trên cửa sổ)

và cũng trên Windows, chỉ cần start <filename> cũng hoạt động - nếu đó là tiện ích được liên kết đã có (dưới dạng xls) là

+3

Lưu ý rằng trên Windows, bạn sẽ thấy cửa sổ cmd nhanh chóng mở và đóng nếu bạn 'os.system()'. IMHO tốt hơn nên sử dụng 'os.startfile()'. – 10basetom

7

Tôi thích popen2 để có thể theo dõi quá trình.

excelProcess = popen2.Popen4("start excel %s" % (excelFile)) 
status = excelProcess.wait() 

http://www.python.org/doc/2.5.2/lib/module-popen2.html

EDIT: lưu ý rằng gọi wait() sẽ chặn cho đến khi quá trình hồi hương. Tùy thuộc vào tập lệnh của bạn, đây có thể không phải là hành vi mong muốn của bạn.

7

Các subprocess mô-đun có ý định thay thế một số khác, mô-đun lớn tuổi và chức năng, chẳng hạn như:

  • os.system
  • os.spawn *
  • os.popen *
  • popen2 . *
  • lệnh. *

.

import subprocess 

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

print process_one.pid 
1

Như những người khác đã nêu, tôi sẽ đề xuất os.system. Trong trường hợp bất cứ ai đang tìm kiếm một giải pháp Mac tương thích, đây là một ví dụ:

import os 
os.system("open /Applications/Safari.app") 
Các vấn đề liên quan