¿Cómo leer y modificar fstab en python?


8

Quiero configurar mi automáticamente fstaben pythonmediante la ejecución de un script. Pensé en utilizar ConfigParseren python, pero no soy capaz de utilizarlo correctamente.


1
Voté para migrar esto a StackOverflow. Puede estar hablando de editar un archivo en particular en un sistema operativo * nix, pero está preguntando sobre hacerlo en un lenguaje de programación (lo que significa, para mí, que la respuesta está más relacionada con la programación que con * nix).
HalosGhost

1
La programación de shell de @HalosGhost a menudo consiste en editar un archivo en particular y siempre está en algún lenguaje de programación, siempre y cuando sea para fines administrativos de U&L, no creo que debamos mover todas esas preguntas.
Anthon

@Anthon, los shells a menudo son * nix específicos. Esta no es una pregunta de programación de shell, es una pregunta de Python. Pero no tengo la capacidad de migrar; fue solo un voto.
HalosGhost

Respuestas:


9

Puedes usar el módulo fstab .

Su documentación aquí .

Ejemplo:

fstab = Fstab()

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

5

Esto no funcionará porque el /etc/fstabarchivo no se ajusta al formato que admite ConfigParser.

Como man 5 fstabindica, el /etc/fstabarchivo es un archivo separado por espacios en blanco con 6 columnas. Python ConfigParser es una biblioteca para analizar archivos comúnmente conocidos como .iniarchivos que, simplificados, consisten en secciones que contienen pares clave / valor:

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

Analizar el fstabarchivo usted mismo es relativamente fácil. Simplemente copie todas las líneas de comentarios (aquellas con el primer carácter '#' que no sea un espacio en blanco) y divida las otras líneas usando .split()los 6 campos. Lo uso para reorganizar mi fstabarchivo a solo 79 columnas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.