Làm thế nào để đọc và sửa đổi fstab trong python?


8

Tôi muốn tự động cấu hình fstabtrong pythonbằng cách chạy một tập lệnh. Tôi nghĩ đến việc sử dụng ConfigParsertrong python, nhưng tôi không thể sử dụng nó đúng cách.


1
Tôi đã bỏ phiếu để di chuyển cái này sang StackOverflow. Bạn có thể đang nói về việc chỉnh sửa một tệp cụ thể trên HĐH * nix, nhưng bạn hỏi về việc làm như vậy bằng ngôn ngữ lập trình (có nghĩa là, đối với tôi, câu trả lời quan tâm đến lập trình hơn là với * nix).
HalosGhost

1
Lập trình shell @HalosGhost thường là về việc chỉnh sửa một tệp cụ thể và nó luôn ở một số ngôn ngữ lập trình, miễn là vì mục đích quản trị của U & L, tôi không nghĩ chúng ta nên chuyển tất cả các câu hỏi đó.
Anthon

@Anthon, shell thường * nix cụ thể. Đây không phải là một câu hỏi lập trình shell, nó là một câu hỏi Python. Nhưng, tôi không có khả năng di cư; nó chỉ là một cuộc bỏ phiếu
HalosGhost

Câu trả lời:


9

Bạn có thể sử dụng mô-đun fstab .

Tài liệu của nó ở đây .

Thí dụ:

fstab = Fstab()

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

5

Điều này sẽ không hoạt động vì /etc/fstabtập tin không phù hợp với định dạng mà ConfigParser hỗ trợ.

Như man 5 fstabchỉ ra, /etc/fstabtệp là một tệp được phân tách khoảng trắng với 6 cột. Python ConfigParser là một thư viện để phân tích cú pháp các tệp thường được gọi là .inicác tệp, được đơn giản hóa, bao gồm các phần có chứa các cặp khóa / giá trị:

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

Tự phân tích fstabtệp là tương đối dễ dàng. Chỉ cần sao chép tất cả các dòng nhận xét (những dòng có ký tự không phải khoảng trắng đầu tiên '#') và phân chia các dòng khác bằng cách sử dụng .split()cho 6 trường. Tôi sử dụng nó để sắp xếp lại fstabtập tin của tôi chỉ còn 79 cột.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.