import tarfile
tf = tarfile.open('core.db', 'r:gz')
for member in tf.getmembers():
if member.name.endswith('/desc'):
with tf.extractfile(member) as fp:
print(fp.read().decode())
print('-' * 40)
def read_aur_db_entry(fp):
db_entry = collections.defaultdict(str)
key = None
for line in fp.readlines():
if line.startswith(b'%') and line.endswith(b'%\n'):
key = line[1:-2].decode()
continue
db_entry[key] += line.decode()
return {key: value.strip() for (key, value) in db_entry.items()}
这是个有趣的问题!你知道吗
平均零售价套餐
您可以从https://aur.archlinux.org/packages.gz获得所有AUR包的列表。你知道吗
然后可以使用AurJson接口的
info
请求和批处理(不确定每个请求的最大值是多少):https://aur.archlinux.org/rpc.php/rpc/?v=5&type=info&arg[]=criu&arg[]=criu&arg[]=criu&arg[]=criu&arg[]=criu&arg[]=criu&arg[]=criu&arg[]=criu
一定要玩得好,限制你的要求!像这样的事情会让你开始。。。你知道吗
结果
拱形包装
(我误解了原来的问题,但这是原来的答案。)
您可以使用Python中的
tarfile
库查看Arch数据库文件,这些文件是according to the Arch Linux wiki, tar.gz files。你知道吗假设你下载了core.db/社区.db的/额外.db从镜子(例如https://mirrors.edge.kernel.org/archlinux/core/os/x86_64/core.db/https://mirrors.edge.kernel.org/archlinux/community/os/x86_64/community.db/https://mirrors.edge.kernel.org/archlinux/extra/os/x86_64/extra.db但是请使用离你更近的另一个镜子),你可以阅读它们,例如(Python 3)
以本机格式打印描述文件,例如
EDIT:您还可以使用以下命令将数据库文件解析为dict
所以你得到
相关问题 更多 >
编程相关推荐