como ler e modificar fstab em python?

8

Quero configurar automaticamente o meu fstabin pythonexecutando um script. Pensei em usar ConfigParserem python, mas eu sou incapaz de usá-lo corretamente.

Shaels
fonte
1
Votei em migrar isso para o StackOverflow. Você pode estar falando sobre editar um arquivo específico em um sistema operacional * nix, mas está perguntando sobre isso em uma linguagem de programação (o que significa, para mim, que a resposta está mais relacionada à programação do que ao * nix).
HalosGhost
1
A programação de shell do @HalosGhost geralmente consiste em editar um arquivo específico e está sempre em alguma linguagem de programação, desde que seja para fins administrativos de U&L, acho que não devemos mover todas essas perguntas.
Anthon
@Anthon, os shell geralmente são * nix específicos. Esta não é uma questão de programação de shell, é uma questão de Python. Mas não tenho a capacidade de migrar; foi apenas uma votação.
HalosGhost

Respostas:

9

Você pode usar o módulo fstab .

Sua documentação aqui .

Exemplo:

fstab = Fstab()

for entry in fstab.entries:
    pprint.pprint(entry)
cuonglm
fonte
5

Isso não funcionará porque o /etc/fstabarquivo não está em conformidade com o formato suportado pelo ConfigParser.

Como man 5 fstabindica, o /etc/fstabarquivo é um arquivo separado por espaço em branco com 6 colunas. O Python ConfigParser é uma biblioteca para analisar arquivos comumente conhecidos como .iniarquivos que, simplificados, consistem em seções que contêm pares de chave / valor:

 [section_name1]
 key1 = value1
 key2 = value2
 [section_name2]
 key3 = value3

Analisar o fstabarquivo você mesmo é relativamente fácil. Apenas copie todas as linhas de comentário (aquelas com o primeiro caractere que não sejam espaços em branco '#') e divida as outras linhas usando .split()os 6 campos. Eu uso isso para reorganizar meu fstabarquivo para ter apenas 79 colunas.

Anthon
fonte