Python을 사용하여 응용 프로그램 인스턴스를 어떻게 시작하려면?
문제
나는 많은 작업을 수행하는 파이썬 스크립트를 만들고 있으며 이러한 작업 중 하나는 Excel 인스턴스를 시작하고 여는 것입니다. 내 스크립트에서이를 달성하는 이상적인 방법은 무엇입니까?
해결책
동안 Popen
일반적인 경우에는 답변이 합리적입니다. 추천합니다. win32api
이 특정 경우에 유용한 일을하고 싶다면 다음과 같습니다.
그것은 다음과 같이 간다 :
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
가져 왔습니다 메일 링리스트 게시물 그러나 주변에는 많은 예가 있습니다.
다른 팁
또는
os.system("start excel.exe <path/to/file>")
(경로에 있고 창문에 있다고 가정합니다)
그리고 또한 창문에서도 start <filename>
작품도 - 이미 관련 확장자라면 (XLS가 될 것입니다)
나는 프로세스를 모니터링하는 능력에 대해 Popen2를 좋아합니다.
excelProcess = popen2.Popen4("start excel %s" % (excelFile))
status = excelProcess.wait()
http://www.python.org/doc/2.5.2/lib/module-popen2.html
편집하다: Calling Wait ()가 프로세스가 돌아올 때까지 차단됩니다. 스크립트에 따라 원하는 동작이 아닐 수도 있습니다.
그만큼 하위 프로세스 모듈은 다음과 같은 여러 기타 구형 모듈 및 기능을 대체 할 계획입니다.
- OS.System
- os.spawn*
- os.popen*
- Popen2.*
- 명령.*
.
import subprocess
process_one = subprocess.Popen(['gqview', '/home/toto/my_images'])
print process_one.pid
다른 사람들이 말했듯이, 나는 OS.System을 제안 할 것입니다. 누구나 Mac 호환 솔루션을 찾고있는 경우 다음은 다음과 같습니다.
import os
os.system("open /Applications/Safari.app")
os.system ( "file.xls onever")
좋아요 os.startfile("path to file")
두 번 클릭 한 것처럼 파일을 열면 열면 파일이 엽니 다.
나는 그것을 발견했다 os.system("start excel filename")
웹에서 열린 파일처럼 열었으며 편집을 활성화해야했습니다.