• <bdo id='PmhgD'></bdo><ul id='PmhgD'></ul>
    1. <small id='PmhgD'></small><noframes id='PmhgD'>

    2. <i id='PmhgD'><tr id='PmhgD'><dt id='PmhgD'><q id='PmhgD'><span id='PmhgD'><b id='PmhgD'><form id='PmhgD'><ins id='PmhgD'></ins><ul id='PmhgD'></ul><sub id='PmhgD'></sub></form><legend id='PmhgD'></legend><bdo id='PmhgD'><pre id='PmhgD'><center id='PmhgD'></center></pre></bdo></b><th id='PmhgD'></th></span></q></dt></tr></i><div id='PmhgD'><tfoot id='PmhgD'></tfoot><dl id='PmhgD'><fieldset id='PmhgD'></fieldset></dl></div>
    3. <tfoot id='PmhgD'></tfoot>
      <legend id='PmhgD'><style id='PmhgD'><dir id='PmhgD'><q id='PmhgD'></q></dir></style></legend>

      检查是否安装了包的 Pythonic 方法

      时间:2023-09-14
        <tbody id='TDUBZ'></tbody>
      <i id='TDUBZ'><tr id='TDUBZ'><dt id='TDUBZ'><q id='TDUBZ'><span id='TDUBZ'><b id='TDUBZ'><form id='TDUBZ'><ins id='TDUBZ'></ins><ul id='TDUBZ'></ul><sub id='TDUBZ'></sub></form><legend id='TDUBZ'></legend><bdo id='TDUBZ'><pre id='TDUBZ'><center id='TDUBZ'></center></pre></bdo></b><th id='TDUBZ'></th></span></q></dt></tr></i><div id='TDUBZ'><tfoot id='TDUBZ'></tfoot><dl id='TDUBZ'><fieldset id='TDUBZ'></fieldset></dl></div>

          • <bdo id='TDUBZ'></bdo><ul id='TDUBZ'></ul>
          • <small id='TDUBZ'></small><noframes id='TDUBZ'>

              <tfoot id='TDUBZ'></tfoot>

              <legend id='TDUBZ'><style id='TDUBZ'><dir id='TDUBZ'><q id='TDUBZ'></q></dir></style></legend>

              1. 本文介绍了检查是否安装了包的 Pythonic 方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                检查安装在 Centos/Redhat 中的软件包列表的 Pythonic 方法?

                Pythonic way to check list of packages installed in Centos/Redhat?

                在 bash 脚本中,我会这样做:

                In a bash script, I'd do:

                 rpm -qa | grep -w packagename
                

                推荐答案

                import sys
                import rpm
                
                ts = rpm.TransactionSet()
                mi = ts.dbMatch( 'name', sys.argv[1] )
                try :
                    h = mi.next()
                    print "%s-%s-%s" % (h['name'], h['version'], h['release'])
                except StopIteration:
                    print "Package not found"
                

                1. TransactionSet() 将打开 RPM 数据库
                2. 不带参数的dbMatch会设置一个匹配迭代器来遍历整个安装的包,你可以在匹配迭代器上调用next来获取下一个条目,一个代表一个包的头对象
                3. dbMatch 也可用于查询特定的包,您需要传递一个标签的名称,以及您要查找的该标签的值:

                1. TransactionSet() will open the RPM database
                2. dbMatch with no paramters will set up a match iterator to go over the entire set of installed packages, you can call next on the match iterator to get the next entry, a header object that represents one package
                3. dbMatch can also be used to query specific packages, you need to pass the name of a tag, as well as the value for that tag that you are looking for:

                dbMatch('name','mysql')
                

                这篇关于检查是否安装了包的 Pythonic 方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:Python tarfile 比 Linux 命令慢 下一篇:dbus_to_python() 只需要 1 个参数?

                相关文章

                最新文章

                    <tfoot id='boEWZ'></tfoot>
                  1. <legend id='boEWZ'><style id='boEWZ'><dir id='boEWZ'><q id='boEWZ'></q></dir></style></legend>
                    <i id='boEWZ'><tr id='boEWZ'><dt id='boEWZ'><q id='boEWZ'><span id='boEWZ'><b id='boEWZ'><form id='boEWZ'><ins id='boEWZ'></ins><ul id='boEWZ'></ul><sub id='boEWZ'></sub></form><legend id='boEWZ'></legend><bdo id='boEWZ'><pre id='boEWZ'><center id='boEWZ'></center></pre></bdo></b><th id='boEWZ'></th></span></q></dt></tr></i><div id='boEWZ'><tfoot id='boEWZ'></tfoot><dl id='boEWZ'><fieldset id='boEWZ'></fieldset></dl></div>
                    • <bdo id='boEWZ'></bdo><ul id='boEWZ'></ul>

                  2. <small id='boEWZ'></small><noframes id='boEWZ'>