我正在尝试做一些包操作(就像dpkg一样),虽然我可以只使用popen或subprocess.call,但如果可能的话,我更愿意使用python的方式。
不幸的是,我一直找不到python模块来完成这项工作。
我看过对python-deb的引用,但它似乎已经失效了。python-apt似乎是一个潜在的解决方案,但它不能处理单独的.deb文件。
谁知道一个好的dpkg python解决方案?
发布于 2012-07-31 07:20:18
实际上,python-apt允许您直接使用这些文件。下面是一个例子:
from apt.debfile import DebPackage
from pprint import pprint
pkg = DebPackage('/tmp/wajig_2.7_all.deb')
pprint(pkg.filelist)输出:
$ ./script.py
['./',
'etc/',
'etc/bash_completion.d/',
...
'usr/bin/',
'usr/bin/wajig']遗憾的是,它并不像我希望的那样完整,但它有很多功能。
(more info)
发布于 2017-03-07 10:09:58
Python-apt可能是完成此任务的标准方法,但如果您需要在非debian平台上工作,我已经发布了它的某些部分的本机重新实现的早期版本:
发布于 2012-07-31 02:46:55
我对debs的python模块不太熟悉,但我想指出的是,调用子进程在*ix上并不是坏事,因为它是在Windows上。Windows似乎打算打破将事物作为子进程调用和解析输出的目的,但*ix通常使其非常可行。
https://stackoverflow.com/questions/11727011
复制相似问题