come leggere e modificare fstab in python?


8

Voglio configurare automaticamente il mio fstabin pythoneseguendo uno script. Ho pensato di utilizzare ConfigParserin python, ma sono in grado di usarlo correttamente.


1
Ho votato per migrare questo su StackOverflow. Potresti parlare della modifica di un determinato file su un sistema operativo * nix, ma ti stai chiedendo di farlo in un linguaggio di programmazione (il che significa, per me, che la risposta riguarda più la programmazione che con * nix).
HalosGhost

1
La programmazione della shell @HalosGhost spesso riguarda la modifica di un determinato file ed è sempre in un linguaggio di programmazione, purché sia ​​a fini amministrativi U&L, non penso che dovremmo spostare tutte queste domande.
Anthon,

@Anthon, le shell sono spesso * nix specifiche. Questa non è una domanda di programmazione della shell, è una domanda di Python. Ma non ho la capacità di migrare; era solo un voto.
HalosGhost

Risposte:


9

Puoi usare il modulo fstab .

La sua documentazione qui .

Esempio:

fstab = Fstab()

for entry in fstab.entries:
    pprint.pprint(entry)

5

Questo non funzionerà perché il /etc/fstabfile non è conforme al formato supportato da ConfigParser.

Come man 5 fstabindica, il /etc/fstabfile è un file separato da spazi bianchi con 6 colonne. Python ConfigParser è una libreria per i file di analisi comunemente noti come .inifile che, semplificati, sono costituiti da sezioni che contengono coppie chiave / valore:

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

L'analisi del fstabfile da soli è relativamente semplice. Basta copiare tutte le righe dei commenti (quelle con il primo carattere non # 'spazi bianchi) e dividere le altre righe usando .split()nei 6 campi. Lo uso per riordinare il mio fstabfile in 79 colonne.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.