Aller au contenu
Cheat Sheet
Python

[Python] Benedict : une autre façon de jouer avec…

Je suis souvent confronté au problème suivant : je récupère un json (API), je le transforme en dict et je veux faire des opérations dessus, mais je ne suis pas certain que tous les éléments sont présents.

Pour accéder à un élément, je dois soit faire :

if 'niveau_1' in elem and 'niveau_2' in elem['niveau_1'] and 'niveau_3' in elem['niveau_1']['niveau_2']: 
    ...

Ou alors faire un try / except KeyError, mais je trouve ça très moche.

Une autre solution consiste à utiliser la librairie python-benedict. Cette librairie surcharge le dict et propose des fonctionnalités avancées sur leur manipulation. Comme par exemple le fait de pouvoir accéder aux éléments avec un équivalent de xpath.

Par exemple :

if 'niveau_1.niveau_2.niveau_3' in elem:
    ...

En plus, ça charge directement de json, des yaml, etc.

[Python] Exécuter un programme externe et interagir avec lui
Créer un CBZ avec 7zip
dict json library python

Articles similaires

Pylance / Pyright fait ramer…
Créer une application Android avec…
Accéder à un serveur qui…
[Python] Comment bien démarrer un…
[Python] Extraire une page PDF…
[Python] Protocol
[Python] Liste de choix en…
[Python] Exécuter un programme externe…
Un package Python nécessite Visual…
Publier un site Flask sur…

Catégories

  • Android
  • Calibre
  • Docker
  • Excel
  • Git
  • Google Sheet
  • Knime
  • Linux
  • Logiciels
  • Matériel
  • Non classé
  • Notepad++
  • PHP
  • Power BI
  • Programmation
  • Python
  • Qlik
  • Service
  • Synology
  • Visual Studio Code
  • VSCode
  • Windows
  • Word
  • WordPress

Étiquettes

adb android apache audio calibre convertion css debian docker drivers excel fichiers firefox flask google grep html kobo linux manette markdown mp3 notepad++ office php pip portable privoxy python qlik qliksense qlikview realtek selenium synology tor venv vim virtualenv vscode web windows wordpress xargs youtube

Tags

adb android apache audio calibre convertion css debian docker drivers excel fichiers firefox flask google grep html kobo linux manette markdown mp3 notepad++ office php pip portable privoxy python qlik qliksense qlikview realtek selenium synology tor venv vim virtualenv vscode web windows wordpress xargs youtube
Thème par Colorlib Propulsé par WordPress