如何在python中读取和修改fstab?


8

我想自动配置我fstabpython通过运行一个脚本。我曾考虑使用ConfigParserin python,但无法正确使用它。


1
我投票决定将其迁移到StackOverflow。您可能在谈论在* nix操作系统上编辑特定文件的问题,但是您想使用一种编程语言来进行编辑(对我来说,答案是与* nix相比,更多地与编程有关)。
HalosGhost

1
@HalosGhost外壳程序编程通常是关于编辑特定文件的,并且始终使用某种编程语言,只要它用于U&L管理目的,我认为我们不应该提出所有这些问题。
Anthon

@ Anthon,shell通常是特定于* nix的。这不是一个shell编程问题,而是一个Python问题。但是,我没有能力迁移;这只是一票。
HalosGhost

Answers:


9

您可以使用fstab模块。

它的文档在这里

例:

fstab = Fstab()

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

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列。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.