Làm thế nào tôi có thể (pythonically) kiểm tra nếu một tham số là một mô-đun Python? Không có loại như mô-đun hoặc gói.Kiểm tra xem tham số có phải là một mô-đun Python không?
>>> os
<module 'os' from '/usr/lib/python2.6/os.pyc'>
>>> isinstance(os, module)
Traceback (most recent call last):
File "/usr/lib/gedit-2/plugins/pythonconsole/console.py", line 290, in __run
r = eval(command, self.namespace, self.namespace)
File "<string>", line 1, in <module>
NameError: name 'module' is not defined
tôi có thể làm điều này:
>>> type(os)
<type 'module'>
Nhưng những gì tôi so sánh nó với? . :(
Tôi đã thực hiện một module đơn giản để nhanh chóng tìm thấy phương pháp trong mô-đun và có được văn bản trợ giúp cho họ tôi cung cấp một var mô-đun và một chuỗi để phương pháp của tôi:
def gethelp(module, sstring):
# here i need to check if module is a module.
for func in listseek(dir(module), sstring):
help(module.__dict__[func])
Tất nhiên, điều này sẽ làm việc ngay cả khi mô-đun = 'abc': sau đó dir ('abc') sẽ cung cấp cho tôi danh sách các phương pháp để đối tượng chuỗi, nhưng tôi không cần điều đó
Bạn biết phương thức help() và pydoc và những nỗ lực tương tự, phải không? –
pydoc hơi khác một chút. Tôi cần một cách đơn giản để tìm một phương pháp mà không biết đó là tên chính xác. Ví dụ, cái gì đó có 'kích thước' trong os.path. –
Bạn có thể Duck Loại mô-đun không? Mày cần nó để làm gì? Chỉ cần thử điều đó và bắt ngoại lệ nếu nó không thành công. – u0b34a0f6ae