Re: recursive import list

2005-06-13 Thread [EMAIL PROTECTED]
If you use your own import function, like below, you could create a
list of all imported modules.

#!/usr/bin/env python

mod_list = []

def my_import(name, globals = None, locals = None, fromlist = None):
mod_list.append(name)
mod = __import__(name, globals, locals, fromlist)
return mod

os = my_import('os')
print os.name

print mod_list

sys = my_import('sys')
print sys.version

print mod_list

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: recursive import list

2005-06-13 Thread Mike Meyer
"[EMAIL PROTECTED]" <[EMAIL PROTECTED]> writes:
>> I have a fairly large project going on and would like to figure out
>> automatically from the source which files are being imported.
> If you use your own import function, like below, you could create a
> list of all imported modules.

Why not use sys.modules? To answer the question actually asked, check
for a __file__ attributes on each module in sys.modules, and print
that if it exists.

That won't list builtin modules that are imported - but they don't
have files to be imported, so I assume that the OP doesn't want them
listed.

  http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: recursive import list

2005-06-14 Thread Philippe C. Martin
Mike Meyer wrote:

> "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> writes:
>>> I have a fairly large project going on and would like to figure out
>>> automatically from the source which files are being imported.
>> If you use your own import function, like below, you could create a
>> list of all imported modules.
> 
> Why not use sys.modules? To answer the question actually asked, check
> for a __file__ attributes on each module in sys.modules, and print
> that if it exists.
> 
> That won't list builtin modules that are imported - but they don't
> have files to be imported, so I assume that the OP doesn't want them
> listed.
> 
> http://mail.python.org/mailman/listinfo/python-list