Как читать и изменять Fstab в Python?

8

Я хочу , чтобы автоматически настроить мой fstabв pythonзапустив скрипт. Я думал об использовании ConfigParserв python, но я не могу его использовать.

Shaels
источник
1
Я проголосовал за перенос этого в StackOverflow. Возможно, вы говорите о редактировании определенного файла в * nix ОС, но вы спрашиваете об этом на языке программирования (для меня это означает, что ответ больше касается программирования, чем * nix).
HalosGhost
1
Программирование оболочки @HalosGhost часто связано с редактированием определенного файла и всегда на каком-то языке программирования, если оно предназначено для административных целей U & L, я не думаю, что мы должны переносить все эти вопросы.
Энтон
@Anthon, оболочки часто * nix специфичны. Это не вопрос программирования оболочки, это вопрос Python. Но у меня нет возможности мигрировать; это было просто голосование.
HalosGhost

Ответы:

9

Вы можете использовать модуль fstab .

Его документация здесь .

Пример:

fstab = Fstab()

for entry in fstab.entries:
    pprint.pprint(entry)
cuonglm
источник
5

Это не будет работать, потому что /etc/fstabфайл не соответствует формату, который поддерживает ConfigParser.

Как man 5 fstabвидно, /etc/fstabфайл представляет собой разделенный пробелами файл с 6 столбцами. Python ConfigParser - это библиотека для анализа файлов, обычно называемая .iniфайлами, которые, упрощенно, состоят из разделов, содержащих пары ключ / значение:

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

Сам анализ fstabфайла относительно прост. Просто скопируйте все строки комментариев (с первым непробельным символом '#') и разбейте остальные строки, используя .split()6 полей. Я использую это, чтобы переставить мой fstabфайл, чтобы быть только 79 столбцами.

Энтон
источник