web-dev-qa-db-ja.com

Pythonでのwin32.Dispatchとwin32.gencache。長所と短所は何ですか?

私は最近、WindowsアプリケーションのAPIとしてpythonからwin32com.clientを使用していますが、いくつかの基本的なことを理解するのに苦労しています。

私は次のようにWEAPと呼ばれるプログラムでそれを使用していました

import win32com.client
win32com.client.Dispatch("WEAP.WEAPApplication")

今、私はExcelでそれを使いたいと思っており、次のように前の行の代替物を見つけました( Python:Win32 COM Apiを使用してExcelワークブックを開く

import win32com.client as win32
Excel = win32.gencache.EnsureDispatch('Excel.Application')

使用の違いを誰もが知っていますか

win32.Dispatch 

そして

win32.gencache.EnsureDispatch

および他の選択肢?誰もがそれぞれの長所と短所を知っていますか?または、どちらを使用するかに関するアドバイスはありますか?

私はアドバイスを探しました、そして、例えば、私はいくつかの役に立つ答えを見つけました:

Python:Win32 COM Apiを使用してExcelワークブックを開く

win32com.client.Dispatchは機能しますが、win32com.client.gencache.EnsureDispatchは機能しません

http://pythonexcels.com/python-Excel-mini-cookbook/

https://mail.python.org/pipermail/python-win32/2011-August/011738.html

しかし、彼らは通常、特定の問題に答えることに焦点を当てており、Dispatch、gencache.EnsureDispatch、およびおそらく他の選択肢の違いの全体像を説明していません。

どんなアドバイスも大歓迎です。

8
Juan Ossa

生成されたキャッシュの場所は、USER_PROFILE\AppData\Local\Temp\gen_py\PYTHON_VERSION \にあります。これは、キャッシュをクリアしたい場合に便利です。

0
svkolev