我可以使用它添加ppa,但不能删除。找不到从sources.list中删除ppa的正确语法。这是我的代码:

import aptsources.sourceslist as s
repo = ('deb', 'http://ppa.launchpad.net/danielrichter2007/grub-customizer/ubuntu', 'xenial', ['main'])
sources = s.SourcesList()
sources.add(repo)
sources.save()

#doesn't work
sources.remove(repo)

我试图阅读找到的here文档,但仍然找不到调用sources.remove(repo)的格式

最佳答案

SourcesList.remove()帮助文本读取remove(source_entry),这表示它想要的是一个SourceEntry对象。当它成形时,sources.add()返回一个SourceEntry对象:

import aptsources.sourceslist as sl

sources = sl.SourcesList()
entry = sources.add('deb', 'mirror://mirrors.ubuntu.com/mirrors.txt', 'xenial', ['main'])
print(type(entry))

输出:
<class 'aptsources.sourceslist.SourceEntry'>

要删除条目:
sources.remove(entry)
sources.save()

您也可以禁用它(这将在sources.list中留下注释:
entry.set_enabled(False)
sources.save()

关于python - 如何使用python apt模块删除PPA?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43509902/

10-12 22:32