Aller au contenu
Cheat Sheet
Python

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

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

  • Previous
  • Next
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 firefox flask git google grep kobo linux manette markdown mp3 notepad++ office php pip privoxy python qlik qliksense qlikview realtek rebase selenium synology tor venv vim virtualenv vscode web windows wordpress xargs youtube yt-dlp

Tags

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