J'utilise DDT avec Python.
J'ai un code pour lire CSV qui ressemble à ceci - Comment puis-je sauter des lignes d'un "nombre spécifié de ligne" à "Nombre spécifié de ligne"?
Dans le code ci-dessus Suivant (lecteur) saute une ligne d'en-tête. P> Avec j'ai besoin de savoir comment lire des données d'un fichier JSON?
Exemple de fichier JSON - P> {
{
"email": "amit@some.com",
"passowrd": "123@123"
},
{
"email": "tanvi@some.com",
"passowrd": "123@456"
},
{
"email": "tc.u@some.io",
"passowrd": "123@789"
}
}
3 Réponses :
La seule chose dont vous avez besoin est la bibliothèque json em>. Python est généralement expédié avec cette lib inclus. P> import json
def getJsonData(filepath):
return json.load(open(filepath))
data = getJsonData("the/file/path.json")
for item in data:
print(f"email -> {item['email']}")
print(f"password -> {item['password']}")
# output:
# email -> amit@some.com
# password -> 123@123
# email -> tanvi@some.com
# password -> 123@456
# email -> tc.u@some.io
# password -> 123@789
J'utilise @file_Data (filepath) Annotation au test. Retourner json.load ne fonctionne pas. J'ai besoin de retourner une liste.
@Chagrujain pourriez-vous expliquer plus détaillé ce que vous parlez exactement?
Désolé j'ai oublié de mentionner sur @file_data code> décorateur. J'utilise @file_data code> décorateur pour le test qui prend le paramètre un chemin du fichier JSON. Comment décorateur fonctionnera pour le format JSON.
Qu'est-ce que ce décorateur devrait-il faire exactement? @Chadujain
Ce décorateur est utilisé pour lire des données à partir d'un fichier JSON ou YML.
besoin d'utiliser JSON.
import json json.loads(file object)
C'est ce que j'ai fait à l'aide de JSON avec DDT.
import unittest
from ddt import ddt, data, unpack, file_data
@ddt
class TestCase(unittest.TestCase):
"""Some test case """
@file_data('test.json')
def test_email_and_username(self, email, password):
"""This tests some stuff"""
do some assertions here