Maison >développement back-end >Tutoriel Python >Comment puis-je écrire correctement des données JSON d'un dictionnaire vers un fichier en Python ?

Comment puis-je écrire correctement des données JSON d'un dictionnaire vers un fichier en Python ?

DDD
DDDoriginal
2024-12-26 20:15:16955parcourir

How Can I Correctly Write JSON Data from a Dictionary to a File in Python?

Comment écrire des données JSON dans un fichier

Lorsque vous tentez d'écrire des données JSON stockées dans un dictionnaire dans un fichier à l'aide du code :

f = open('data.json', 'wb')
f.write(data)

vous pourriez rencontrer l'erreur :

TypeError: must be string or buffer, not dict

C'est parce que les données du dictionnaire ont besoin à encoder en JSON avant d'écrire.

Utilisation du module JSON intégré de Python :

Le module json intégré de Python fournit un moyen pratique d'encoder et de décoder les données JSON. . Pour écrire des données JSON à partir d'un dictionnaire, vous pouvez utiliser le code suivant :

Pour une compatibilité maximale (Python 2 et 3) :

import json
with open('data.json', 'w') as f:
    json.dump(data, f)

Pour systèmes modernes (Python 3 et UTF-8 support):

import json
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)
  • ensure_ascii=False : Cela garantit que les caractères non-ASCII ne sont pas convertis en séquences d'échappement, préservant ainsi les caractères d'origine.
  • indent=4 : Cela indente la sortie JSON pour plus de lisibilité.

Remarque : Pour plus d'informations sur le module json, reportez-vous à la documentation Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn