Tôi đã sử dụng ConfigParser trong một thời gian khá ngắn cho các cấu hình đơn giản. Một điều khiến tôi buồn bã trong một thời gian dài là phần DEFAULT. Tôi không thực sự chắc chắn việc sử dụng phù hợp là gì. Tôi đã đọc tài liệu, nhưng tôi thực sự muốn thấy một số ví dụ thông minh về cách sử dụng của nó và cách nó ảnh hưởng đến các phần khác trong tệp (một cái gì đó thực sự minh họa loại điều có thể).Mục đích sử dụng của phần DEFAULT trong các tệp cấu hình được ConfigParser sử dụng là gì?
23
A
Trả lời
31
Tôi đã tìm thấy giải thích here bằng cách googling cho "cửa sổ ini" "phần mặc định". Tóm tắt: bất cứ điều gì bạn đưa vào phần [DEFAULT] sẽ được truyền tới mọi phần khác. Sử dụng ví dụ từ trang web liên kết, chúng ta hãy nói rằng tôi có một tập tin cấu hình gọi là test1.ini:
[host 1]
lh_server=192.168.0.1
vh_hosts = PloneSite1:8080
lh_root = PloneSite1
[host 2]
lh_server=192.168.0.1
vh_hosts = PloneSite2:8080
lh_root = PloneSite2
tôi có thể đọc này sử dụng ConfigParser:
>>> cp = ConfigParser.ConfigParser()
>>> cp.read('test1.ini')
['test1.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'
Nhưng tôi nhận thấy lh_server đó là như nhau trong cả hai phần; và, thực sự, tôi nhận ra rằng nó sẽ giống nhau đối với hầu hết các máy chủ mà tôi có thể thêm vào. Vì vậy, tôi có thể làm được điều này, như test2.ini:
[DEFAULT]
lh_server=192.168.0.1
[host 1]
vh_root = PloneSite1
lh_root = PloneSite1
[host 2]
vh_root = PloneSite2
lh_root = PloneSite2
Mặc dù các phần không có phím lh_server, tôi vẫn có thể truy cập chúng:
>>> cp.read('test2.ini')
['test2.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'
Đọc trang liên kết cho một ví dụ nữa của việc sử dụng biến thay thế trong phần DEFAULT để đơn giản hóa tệp INI nhiều hơn.
Các vấn đề liên quan
- 1. Mục đích sử dụng là gì?
- 2. Cấu hình cấp phép được sử dụng khi phát triển các ứng dụng iPhone là gì?
- 3. Nhiều tệp cấu hình với Python ConfigParser
- 4. Mục đích của tệp pdb là gì?
- 5. Sử dụng ConfigParser của Python để đọc tệp không có tên phần
- 6. Mục đích của tệp .edmx là gì?
- 7. Mục đích của tệp vshost.exe là gì?
- 8. Mục đích của các lớp học một phần là gì?
- 9. Mục đích sử dụng Android TextUtils là gì?
- 10. Vì mục đích gì Django được sử dụng?
- 11. Mục đích của việc sử dụng FrameworkElementFactory
- 12. Mục đích của MarkDownSharp khi được sử dụng với PageDown là gì?
- 13. Mục đích của tệp tin bootstrap.php.cache của Symfony2 là gì?
- 14. phần sử dụng mục đích facebook trong android
- 15. Mục đích của việc sử dụng CommandType.Tabledirect
- 16. Cách sử dụng các tập tin cấu hình một phần
- 17. Mục đích của cờ cấu trúc trong iOS là gì?
- 18. Mục đích của tệp server.php trong Laravel 4 là gì?
- 19. Mục đích của layout.xml là gì?
- 20. Mục đích của việc sử dụng tham chiếu đến tham chiếu trong C++ là gì?
- 21. Tệp xcscheme là gì? Mục đích của nó là gì?
- 22. Mục đích của việc sử dụng Function.call.apply trong JavaScript là gì?
- 23. Mục đích của việc sử dụng OPTION (MAXDOP 1) trong SQL Server là gì?
- 24. Mục đích của việc sử dụng System.img trong Android là gì?
- 25. Mục đích của "tải trọng của nhà phát triển" là gì? Những gì nó có thể được sử dụng cho?
- 26. Cách sử dụng tệp cấu hình ứng dụng trong C#?
- 27. Mục đích của việc khởi chạy hình ảnh trong ứng dụng iOS là gì?
- 28. Eclipse RCP: Sử dụng thư mục cấu hình
- 29. Mục đích của chỉ thị #line của perl là gì?
- 30. ConfigParser và cấu hình nhập
+1 để sử dụng Python trong các ví dụ. – refi64