2010-04-16 24 views
5

Nesne olarak bir modül veriyorum ve bir alt modemi buradan almam gerekiyor. Şunun gibi: Bir modül nesnesi verildiğinde bir alt modemin içe aktarılması

import logging 
x = logging 

Şimdi sadece x değil ismi "günlüğü" seçeneğini kullanarak logging.handlers almak istiyorum. (Bunun nedeni bazı dinamik içe aktarmalar yapıyorum ve modülün adını bilmemektir.)

Bunu nasıl yaparım? import x.handlers yaparsam başarısız olur.

cevap

5

Dene: Bu muhtemelen umurumda değil, hangi logging bir başvuru döneceğini

__import__('%s.handlers' % x.__name__) 

Not. Ancak x.handlers'u yaratacaktır.

+0

Bir modül nesnesinin neden içe aktarılmasının neden çalışmadığını düşünmeye çalışıyorum ve muhtemelen olması gerektiği gibi görünüyor. Neden olmadığını bilmenin belli bir nedeni var mı? –

İlgili konular