grub2のgrub.cfgファイル用のpythonパーサを知っている人はいますか?python grub.cfgパーサーはありますか?
私はデバイスパーティション(ルート)で「メニューエントリ」を取得しようとしています。
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)"]
など
ソリューション:
re.findall("menuentry ['\"](.*?)['\"].*?set root='(.*?)'", x, re.S)
[( 'LinuxでのUbuntu、3.0.0-15-ジェネリック'、 '(HD0、msdos1)')、( 'Ubuntu、Linux 3.0.0-14-generic'、 '(hd0、msdos1)')、 ( 'Linux 3.0.0-15-ジェネリック(リカバリモード)'、 '(hd0、msdos1)'の ) ')、' Ubuntu、Linux 3.0.0-14-一般(リカバリモード) '、'(hd0、msdos1) ')、( 'Ubuntu、Linux 3.0.0-13-generic'、 '(hd0、msdos1)')、 'Ubuntu、Linux 3.0.0-13-ジェネリック(リカバリモード)'、 '(hd0、msdos1)'、) ')、 (' Ubuntu、Linux 3.0.0-12-generic '、'(hd0、msdos1) ')、' Ubuntu、Linux 3.0.0-12-一般(リカバリモード)メモリテスト (memtest86 +、シリアルコンソール115200) '、'(hd0、msdos1) ')、 ('メモリテスト(memtest86 +) '、'(hd0、msdos1) ') ( 'Windows 7の (の/ dev/sdc1など)'、 '(HD2、msdos1)')]
ああ、皆さんはあなたのためにすべてが欲しいと思っています...ただそのパーサを作って、あなたはたくさんの楽しみがあります! –
いいえ、私はちょうど1つがあるかどうか尋ねています。とにかく、regexとre.S(DOTALL)の代替案が見つかりました。 –