Atualização em 2017: você provavelmente deseja usar importlib
.
Torne o diretório Foo um pacote adicionando um __init__.py
. Nesse __init__.py
aditamento:
import bar
import eggs
import spam
Como você deseja que seja dinâmico (o que pode ou não ser uma boa idéia), liste todos os arquivos py com o diretório dir e importe-os com algo como isto:
import os
for module in os.listdir(os.path.dirname(__file__)):
if module == '__init__.py' or module[-3:] != '.py':
continue
__import__(module[:-3], locals(), globals())
del module
Em seguida, no seu código, faça o seguinte:
import Foo
Agora você pode acessar os módulos com
Foo.bar
Foo.eggs
Foo.spam
etc. from Foo import *
não é uma boa ideia por vários motivos, incluindo conflitos de nome e dificultando a análise do código.