2010-04-16 6 views
5

Tôi được cung cấp một mô-đun làm đối tượng và tôi cần nhập một mô-đun con từ nó. Như thế này:Nhập một mô-đun con cho một đối tượng mô-đun

import logging 
x = logging 

Bây giờ tôi muốn nhập logging.handlers chỉ sử dụng x và không phải là cái tên "khai thác gỗ". (Điều này là do tôi đang thực hiện một số nhập khẩu động và sẽ không biết tên của mô-đun.)

Làm cách nào để thực hiện việc này? Nếu tôi làm import x.handlers thì không thành công.

Trả lời

5

Hãy thử:

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

Lưu ý rằng điều này sẽ trả về một tham chiếu đến logging, mà bạn có thể sẽ không quan tâm. Nó sẽ tạo ra x.handlers mặc dù.

+0

Tôi đang cố gắng nghĩ tại sao việc nhập từ đối tượng mô-đun không hoạt động và có vẻ như hợp lý. Có lý do cụ thể nào khiến bạn biết tại sao không? –