我在一个点stucked,我不能进步,对不起这个愚蠢的问题。 我搜索了很多针对但我可能不知道我是错过了什么。 请帮我。
我学的模块和类的蟒蛇。 现在,我要让使用python和容易一些操作。 我从研究: http://apt.alioth.debian.org/python-apt-doc/library/apt.cache.html但是,我无法理解,该模块是apt.cache,如图所示在页面顶部。 我预期目的应通过写apt.cache.Cache()创建,但通过写入apt.Cache()创建的对象,如下所示。 为什么?
import apt
import apt.progress
# First of all, open the cache
cache = apt.Cache()
# Now, lets update the package list
cache.update()
# We need to re-open the cache because it needs to read the package list
cache.open(None)
# Now we can do the same as 'apt-get upgrade' does
cache.upgrade()
# or we can play 'apt-get dist-upgrade'
cache.upgrade(True)
# Q: Why does nothing happen?
# A: You forgot to call commit()!
cache.commit(apt.progress.TextFetchProgress(),
apt.progress.InstallProgress())
第二个类似的问题是关于下面的代码,Cache类是从模块apt.cache进口。 我预计,对象将通过编写apt.cache.Cache()创建,但它是通过写apt.Cache()创建。 为什么?
>>> from apt.cache import FilteredCache, Cache, MarkedChangesFilter
>>> cache = apt.Cache()
>>> changed = apt.FilteredCache(cache)
>>> changed.set_filter(MarkedChangesFilter())
>>> print len(changed) == len(cache.get_changes()) # Both need to have same length
True
提前致谢