Вы действительно смешиваете вместе две разных вещи.
Использование dir()
, vars()
или inspect
модуль для получения то, чем Вы интересуетесь (я использую __builtins__
в качестве примера; можно использовать любой объект вместо этого).
>>> l = dir(__builtins__)
>>> d = __builtins__.__dict__
Печать, которую словарь, однако необычный, Вы любите:
>>> print l
['ArithmeticError', 'AssertionError', 'AttributeError',...
или
>>> from pprint import pprint
>>> pprint(l)
['ArithmeticError',
'AssertionError',
'AttributeError',
'BaseException',
'DeprecationWarning',
...
>>> pprint(d, indent=2)
{ 'ArithmeticError': ,
'AssertionError': ,
'AttributeError': ,
...
'_': [ 'ArithmeticError',
'AssertionError',
'AttributeError',
'BaseException',
'DeprecationWarning',
...
Симпатичная печать также доступна в интерактивном отладчике как команда:
(Pdb) pp vars()
{'__builtins__': {'ArithmeticError': ,
'AssertionError': ,
'AttributeError': ,
'BaseException': ,
'BufferError': ,
...
'zip': },
'__file__': 'pass.py',
'__name__': '__main__'}
Попробуйте следующее, это работало на меня:
sudo rm -r /var/lib/apt/lists/*
sudo apt-get update