【问题标题】:How to get list of all packages installed by apt?如何获取 apt 安装的所有软件包的列表?
【发布时间】:2022-01-20 22:13:26
【问题描述】:

我希望将所有由 apt(或任何非 pip)安装的包名称作为“Python 列表”。

此 bash 命令将所有包写入文件apt_list.txt

dpkg -l | grep ^ii | awk '{print $2}' > apt_list.txt

我考虑通过 Python 代码读取此文件以获得列表,但此解决方案在我看来效率低下:

import os
os.system("dpkg -l | grep ^ii | awk '{print $2}' > apt_list.txt")
# ...
# Python code
# to read the file apt_list.txt
# ...

那么直接有效的方法是什么?

我想到的另一个解决方案是直接通过 Python 代码获取文件夹的内容(文件列表),其中包括“dpkg -l *”命令列出的包。但我想这些包可能在多个文件夹中,我不知道这些多个位置是什么。

【问题讨论】:

    标签: python linux package apt dpkg


    【解决方案1】:

    如果你使用subprocess那么你可以读取stdout,所以你不需要写文件

    import subprocess
    
    ret=subprocess.run("dpkg -l | grep ^ii | awk '{print $2}'", capture_output=True, shell=True)
    my_list=ret.stdout.decode().split('\n')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      • 2023-01-04
      • 2013-02-17
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多