cara membaca dan memodifikasi fstab dengan python?

8

Saya ingin secara otomatis configure saya fstabdi pythondengan menjalankan skrip. Saya pikir menggunakan ConfigParserdi python, tapi saya tidak dapat menggunakannya dengan benar.

Shaels
sumber
1
Saya memilih untuk memigrasi ini ke StackOverflow. Anda mungkin berbicara tentang mengedit file tertentu pada OS * nix, tetapi pertanyaan Anda tentang melakukannya dalam bahasa pemrograman (yang artinya, bagi saya, bahwa jawabannya lebih berkaitan dengan pemrograman daripada dengan * nix).
HalosGhost
1
Pemrograman shell @HalosGhost sering tentang mengedit file tertentu dan selalu dalam beberapa bahasa pemrograman, selama itu untuk keperluan administrasi U&L, saya tidak berpikir kita harus memindahkan semua pertanyaan itu.
Anthon
@Anthon, kerang seringkali * spesifik nix. Ini bukan pertanyaan pemrograman shell, ini pertanyaan Python. Tetapi, saya tidak memiliki kemampuan untuk bermigrasi; itu hanya suara.
HalosGhost

Jawaban:

9

Anda dapat menggunakan modul fstab .

Dokumentasinya di sini .

Contoh:

fstab = Fstab()

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

Ini tidak akan berfungsi karena /etc/fstabfile tidak sesuai dengan format yang didukung oleh ConfigParser.

Seperti yang man 5 fstabditunjukkan, /etc/fstabfile tersebut adalah file yang dipisahkan spasi dengan 6 kolom. Python ConfigParser adalah pustaka untuk file Parsing yang umumnya dikenal sebagai .inifile yang, disederhanakan, terdiri dari bagian yang berisi pasangan kunci / nilai:

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

Parsing fstabfile itu sendiri relatif mudah. Cukup salin semua baris komentar (yang dengan karakter non-spasi pertama '#') dan pisahkan baris lain menggunakan .split()ke 6 bidang. Saya menggunakannya untuk mengatur ulang fstabfile saya menjadi hanya 79 kolom.

Anthon
sumber