Ubuntuで/ etc/network/interfacesの設定ファイルを解析しようとしていますので、各文字列が指定されたキーワードで始まる文字列リストに分割する必要があります。マニュアルに従っていくつかのキーワードを含む文字列をPythonを使ってリストに分割します
:
ファイルがゼロ以上 "のiface"、 "マッピング"、 "自動車"、 "allow-" および "ソース" スタンザで構成されています。だから、
ファイルが含まれている場合:私は、リストを取得したいと思い
auto lo eth0
allow-hotplug eth1
iface eth0-home inet static
address 192.168.1.1
netmask 255.255.255.0
:
[ '自動LO eth0を'、 '許可-ホットプラグeth1の'、「ifaceをeth0-ホームINET静的\ nのアドレス... ']
は今、私はこのような機能を持っている:
def get_sections(text):
start_indexes = [s.start() for s in re.finditer('auto|iface|source|mapping|allow-', text)]
start_indexes.reverse()
end_idx = -1
res = []
for i in start_indexes:
res.append(text[i: end_idx].strip())
end_idx = i
res.reverse()
return res
しかし、それは素晴らしいではありません...
また、あなたは明らかに、[confparse](http://code.google.com/p/confparse/)のようなものを使用することができますネットワークインターフェイスファイルをサポートします。 – Chewie
start_indexesからスライスを直接抽出することで、このコードをかなり簡単にすることができます。 –