14

一連のタスクを実行するPythonスクリプトを作成していますが、それらのタスクの1つは、Excelのインスタンスを起動して開くことです。私のスクリプトでそれを達成するための理想的な方法は何ですか?

4

7 に答える 7

12

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

メーリングリストの投稿から引用しましたが、たくさんの例があります。

于 2008-10-29T19:22:09.823 に答える
8

また

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

(それがパスにあり、あなたがウィンドウズにいると仮定します)

また、Windowsでもstart <filename>機能します-それがすでに関連付けられた拡張機能である場合(xlsのように)

于 2008-10-29T17:44:31.767 に答える
7

popen2プロセスを監視する機能が気に入っています。

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

https://docs.python.org/2/library/popen2.html

編集wait():プロセスが戻るまで呼び出しがブロックされることに注意してください。スクリプトによっては、これが望ましい動作ではない場合があります。

于 2008-10-29T17:50:13.410 に答える
7

subprocessモジュールは、次のような他のいくつかの古いモジュールと機能を置き換えることを意図しています。

  • os.system
  • os.スポーン*
  • os.popen*
  • popen2.*
  • コマンド。*

.

import subprocess

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

print process_one.pid
于 2008-10-30T08:27:03.530 に答える
2

他の人が述べているように、os.system をお勧めします。誰かが Mac と互換性のあるソリューションを探している場合は、以下に例を示します。

import os
os.system("open /Applications/Safari.app")
于 2011-06-14T22:42:54.363 に答える
0

os.system( "open file.xls")

于 2008-10-29T17:41:19.573 に答える