Às vezes, quando importamos um módulo em Python, surge a curiosidade para ler o código-fonte desse módulo, para descobrir o que aquele código faz realmente. Existe uma forma bem simples de descobrir a localização de um módulo no disco. Após importar um módulo, basta verificar o atributo __file__ do módulo.
>>> import os >>> print os.__file__ /usr/lib/python2.7/os.pyc
Esse arquivo, cujo caminho é impresso na tela é, na realidade, o arquivo binário contendo o bytecode compilado. Porém, se retirar o c do final do nome do arquivo, teremos o arquivo-fonte (.py). No exemplo acima, podemos ver o código-fonte do módulo em:
/usr/lib/python2.7/os.py
Outro exemplo, se quisermos ver o código-fonte do módulo timeit, fazemos o seguinte:
>>> import timeit
>>> print timeit.__file__
/usr/lib/python2.7/timeit.pyc
O arquivo-fonte então está em:
/usr/lib/python2.7/timeit.py
Também poderíamos procurar pelo módulo dentro da lista sys.path, que contém os caminhos onde o interpretador busca pelos módulos a serem importados.