2013-04-13 45 views
8

Tôi đang phát triển một chương trình có cửa sổ cài đặt trong đó tôi có thể thay đổi các thông số khác nhau cho chương trình của mình. Cách tốt nhất để đọc/lưu chúng trong một số loại tập tin cấu hình là gì? Tôi biết rằng một số phần mềm và trò chơi sử dụng các tệp .ini hoặc hệ thống tương tự. Làm thế nào tôi có thể đạt được điều này trong Python?Làm thế nào để lưu các thiết lập ứng dụng trong một tập tin cấu hình?

+0

Cách tốt nhất có thể là xml. – enginefree

+9

@enginefree, đó là nghĩa đen không bao giờ đúng sự thật. – Cairnarvon

+3

[configparser] (http://docs.python.org/3.3/library/configparser.html) rất đơn giản và được triển khai ngay trong thư viện chuẩn. –

Trả lời

11

Thư viện chuẩn Python bao gồm ConfigParser module, xử lý các tệp cấu hình kiểu ini cho bạn. Nó đủ hơn cho hầu hết các công dụng.

+5

Lưu ý rằng trong 3.x, nó được đổi tên thành ['configparser'] (http://docs.python.org/3.3/library/configparser.html). –

+0

ConfigParser đã làm việc cho tôi như một sự quyến rũ. Cảm ơn bạn! – Domagoj

6

Một tùy chọn phổ biến khác cho tệp cấu hình là JSON - đó là một ký hiệu đơn giản có hỗ trợ tốt từ nhiều ngôn ngữ.

Python có the json module trong thư viện chuẩn, điều này giúp dễ dàng.

3

Vì bạn đã giới thiệu tệp cấu hình thuật ngữ trong câu hỏi của mình, các câu trả lời trước tập trung vào phương tiện để tạo tệp văn bản thuần túy, cũng có thể được điều khiển bằng trình soạn thảo văn bản chuẩn. Tùy thuộc vào loại thiết lập để lưu trữ này có thể không được mong muốn, vì nó đòi hỏi kiểm tra tính chính xác nghiêm ngặt sau khi đọc lại tập tin cấu hình ít nhất. Vì vậy, tôi thêm đề xuất của mô-đun shelves là một cách thẳng về phía trước để làm cho thông tin liên tục trong các tệp.

+2

Điều đáng chú ý là trong phần lớn các trường hợp, tệp cấu hình nhị phân được coi là ý tưởng tồi - bạn làm cho người dùng cuối khó làm việc hơn với họ. –