# configparser

{% embed url="https://docs.python.org/uk/3/library/configparser.html" %}

Синтаксичні аналізатори конфігурації не вгадують типи даних значень у файлах конфігурації, завжди зберігаючи їх усередині як рядки. Це означає, що якщо вам потрібні інші типи даних, ви повинні конвертувати самостійно:

```python
int(topsecret['Port'])
float(topsecret['CompressionLevel'])
```

Оскільки це завдання дуже поширене, аналізатори конфігурації надають ряд зручних методів отримання для обробки цілих чисел, чисел з плаваючою точкою та логічних значень. Останнє є найцікавішим, тому що проста передача значення в `bool()` не принесе користі, оскільки `bool('False')` все ще `True`. Ось чому аналізатори конфігурації також надають [`getboolean()`](https://docs.python.org/uk/3/library/configparser.html#configparser.ConfigParser.getboolean). Цей метод не враховує регістр і розпізнає логічні значення з `'yes'`/`'no'`, `'on'`/`'off'`, `'true'` /`'false'` і `'1'`/`'0'` [1](https://docs.python.org/uk/3/library/configparser.html#id15). Наприклад:

```
config['forge.example'].getboolean('ForwardX11')
config.getboolean('forge.example', 'Compression')

```

\
