如何使用pythonap获取所有ubuntu版本的软件

2024-03-29 06:07:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有代码(将在下面发布)从apt缓存中提取所有包,然后提取该包的每个版本。由于公司的原因,我们想建立一个大的数据集。从下面的代码看来,我只得到了与我们集群正在运行的当前ubuntu操作系统版本相关的包。我想为ubuntu的旧版本和新版本重复这个过程。对于python apt模块,这是可能的吗?如果是这样,我应该看什么方向/命令

def main():
    print "Script Start"
    cache = apt.Cache()

    pkg32 = []  
    pkg64 = []
    pkgUnknown = []

    for item in cache:
      tempArch = item.architecture()
      if tempArch == 'amd64':
          for ver in item.versions:
              pkg64.append({'builder': 'ubuntuPackage', 'project': 'ubuntuPackage', })
              repoName = 'debpkg:' + item.shortname + '=' + ver.version
              pkg64[-1].update({'repourl': repoName})
              pkg64[-1].update({'buildID': 'Debian ' + repoName})
      elif tempArch == 'i386':
          for ver in item.versions:
              pkg32.append({'builder': 'ubuntuPackage', 'project': 'ubuntuPackage', })
              repoName = 'debpkg:' + item.shortname + '=' + ver.version
              pkg32[-1].update({'repourl': repoName})
              pkg32[-1].update({'buildID': 'Debian ' + repoName})
      else:
          for ver in item.versions:
              pkgUnknown.append({'builder': 'ubuntuPackage', 'project': 'ubuntuPackage', })
              repoName = 'debpkg:' + item.shortname + '=' + ver.version
              pkgUnknown[-1].update({'repourl': repoName})
              pkgUnknown[-1].update({'buildID': 'Debian ' + repoName})




    saveJson(pkg64, 'debian64List.json')
    saveJson(pkg32, 'debian32List.json')
    saveJson(pkgUnknown, 'debianUnknownList.json')

Tags: in版本foraptupdateitemversionsappend