makepy generating a file versus a directory

O

Olaf Meding

When does the makepy utility generate a .py file and when a directory?
And what decided if a directory or a file is generated?

What is the difference between a file and a directory (both named
after the uuid in the IDL file)?

Most of the time the code below generates a file called
BF79B6C5-47BE-11D2-BACD-006008060A3A.py. But one time it generated a
directory with that same name. This directory contained several .py
files.

Both the .py file and the directory are generated at:
"C:\Python23\Lib\site-packages\win32com\gen_py".

Here is the Python code:
from win32com.client import gencache
gencache.EnsureModule('{BF79B6C5-47BE-11D2-BACD-006008060A3A}', 0,
1, 0)

Thanks so much for your help.

Olaf
 
M

Mark Hammond

Olaf said:
When does the makepy utility generate a .py file and when a directory?
And what decided if a directory or a file is generated?

Whenever 'bForDemand' is passed to the gencache/makepy functions.
Currently EnsureDispatch passes True here.
What is the difference between a file and a directory (both named
after the uuid in the IDL file)?

I am moving towards the directory version. In this case, only the
package itself (with the __init__.py) is generated when the tlb is
loaded. Interfaces etc referenced in the typelib are then generated 'on
demand', as they are referenced.

The benefit is for huge type-libraries, when only one or 2 interfaces
are used. A good example is Excel - often you just use 2 or 3
interfaces, but the .tlb, and generated .py file, is huge. The cost of
bringing in the .pyc can be quite high for these typelibs, let alone the
generation of it first time around.

Mark.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,185
Members
46,738
Latest member
JinaMacvit

Latest Threads

Top