首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有python grub.cfg解析器吗?

有python grub.cfg解析器吗?
EN

Stack Overflow用户
提问于 2012-02-12 11:31:38
回答 1查看 1.7K关注 0票数 7

有人知道用于grub2的grub.cfg文件的python解析器吗?

我试图通过设备分区(根)获得"menuentry“。

代码语言:javascript
复制
hd0,msdos1: ['Ubuntu, with Linux 3.0.0-15-generic',
            'Ubuntu, with Linux 3.0.0-15-generic (recovery mode)',
            'Ubuntu, with Linux 3.0.0-14-generic']
hd2,msdos1: ["Windows 7 (on /dev/sdc1)"]

等。

解决方案:

代码语言:javascript
复制
re.findall("menuentry ['\"](.*?)['\"].*?set root='(.*?)'", x, re.S)

(“Ubuntu,with Linux3.0.0-15-generic”,“(hd0,msdos1)”),(“Ubuntu,withLinux3.0.0-15-泛型(恢复模式)”,“(hd0,msdos1)”),(“Ubuntu,withLinux3.0.0-14泛型”,“(hd0,msdos1)”),(“Ubuntu,带有Linux0.03.14-泛型”,“(hd0,msdos1)”),(“Ubuntu,withLinux3.0.0-14-泛型”),(“Ubuntu,withLinux3.0.0-14泛型”),(“Ubuntu,withLinux3.0.0-14-泛型”),(“Ubuntu,withLinux3.0.0-14泛型”与Linux3.0.0-13-泛型‘,'(hd0,msdos1)'),('Ubuntu,with Linux3.0.0-13-泛型(恢复模式)’,'(hd0,msdos1)'),('Ubuntu,与Linux3.0.0-12泛型‘,'(hd0,msdos1)'),('Ubuntu,与Linux3.0.0-12通用(恢复模式)’,'(hd0,msdos1)'),(‘内存测试(memtest86+)','(hd0,msdos1)'),(‘内存测试(memtest86+,串行控制台115200)','(hd0,msdos1)'),('Windows 7 (on /dev/sdc1 1)’,'(hd2,msdos1)')

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-12 11:42:33

我不知道有一个用于grub.cfg的Python解析器,但是您不需要为该信息解析整个文件。这是您要查找的数据的格式:

代码语言:javascript
复制
menuentry "<name>" [options] {
  ...
  set root='<root>'
  ...
}

因此,查找以menuentry开头的行,解析该行中的名称,然后扫描到下一行使用} for set root=

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9248436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档