Tôi muốn tự động nhập các cài đặt và cấu hình khác nhau vào chương trình python của tôi - những gì bạn thường làm với tệp .ini hoặc một cái gì đó tương tự.Sử dụng Python làm ngôn ngữ cấu hình cho chương trình Python
Tôi bắt đầu với JSON cho cú pháp tệp cấu hình, sau đó được chuyển đến YAML, nhưng thực sự tôi muốn sử dụng Python. Nó sẽ giảm thiểu số lượng định dạng và cho phép tôi sử dụng mã trong tệp cấu hình, điều này có thể thuận tiện.
tôi bị hack lên một __import__
hệ thống dựa để cho phép sử dụng mã này trông giống như:
account_config = __import__(settings.CONFIG_DIR + '.account_name', fromlist=[settings.CONFIG_DIR])
Nó về cơ bản hoạt động, nhưng tôi chạy vào tất cả các loại của các vấn đề bí truyền - ví dụ. nếu tôi cố gắng để nhập khẩu "thử nghiệm" nó chọn lên một số thư viện python nội bộ đó là trong con đường python thay vì thử nghiệm của tôi.
Vì vậy, tôi tự hỏi: đang sử dụng python làm ngôn ngữ cấu hình cho chương trình python khả thi hoặc tôi đang gặp sự cố? Có những ví dụ tôi có thể ăn cắp không?
Dự án Django gần như chính xác điều này. Nó phổ biến. Đó là một ý tưởng hay. Chỉ cần chọn một tên tốt hơn. Thư viện có đầy đủ các tên mà bạn không thể sử dụng. Tuy nhiên, có một số lượng gần như vô hạn các tên ** không ** trong thư viện. –
Cảm ơn S.Lott. Tôi chạy vào vấn đề "thử nghiệm" gần như ngay lập tức để nó làm tôi sợ - tôi lo ngại sẽ có những xung đột tên ngẫu nhiên sẽ gây ra những cơn ác mộng trong sản xuất. – Parand
Chúng không phải là "ngẫu nhiên". Chúng được ghi lại trong tài liệu thư viện. –