Comment utiliser un joli module d'impression en python

Comment utiliser un joli module d'impression en python
Cet article couvrira un guide sur l'utilisation du module «Pretty Print» et de ses méthodes disponibles dans Python. Également appelée Pprint, ce module est disponible dans la bibliothèque Python standard. Tous les échantillons de code de cet article sont testés avec Python 3.9.5 sur Ubuntu 21.04.

À propos de Pprint

Le module Pprint peut être utilisé pour améliorer l'apparence et la sensation et la mise en forme de la sortie standard imprimée à l'aide de Python dans un terminal. En formatant la sortie, vous pouvez améliorer sa lisibilité et même l'exporter vers un fichier externe pour stocker la sortie mieux structurée. L'utilisation du module Pprint peut être mieux comprise à travers des exemples, certains d'entre eux sont répertoriés ci-dessous.

Syntaxe de base de la méthode Pprint

Jetez un œil à l'échantillon de code ci-dessous:

à partir de l'imprimée Pprint
D = "A": 1, "B": 2, "C": 3, "D": 4
Imprimer (D)
pprint (d)

L'exemple ci-dessus illustre l'utilisation des méthodes imprimées et pprints. La première ligne importe la méthode Pprint à partir du module Pprint. La variable «D» est un objet de type dictionnaire avec des paires de valeurs clés. Ensuite, la méthode Pprint est appelée et l'objet à imprimer lui est fourni comme argument (dictionnaire Python dans ce cas).

Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:

'A': 1, 'B': 2, 'C': 3, 'D': 4
'A': 1, 'B': 2, 'C': 3, 'D': 4

Les méthodes d'impression et de TPRINT produisent la même sortie qu'aucune mise en forme n'a été appliquée à la sortie. Les exemples à venir montreront l'application de la mise en forme à la sortie.

Convertir une sortie de ligne unique en sortie multiligne en utilisant pprint

Pour convertir une sortie de ligne unique en sortie multiligne, vous devrez fournir la variable «largeur» comme argument en méthode pprint. Jetez un œil à l'échantillon de code ci-dessous:

à partir de l'imprimée Pprint
D = "A": 1, "B": 2, "C": 3, "D": 4
pprint (d, largeur = 1)

L'échantillon de code est le même que l'exemple indiqué ci-dessus, avec un nouvel argument appelé «largeur» ayant une valeur de 1. La valeur de largeur peut être utilisée pour spécifier le nombre maximum de caractères autorisés sur une seule ligne. Par défaut, cette valeur est de 80. Si les objets / éléments imbriqués d'un objet dépassent les contraintes de largeur, elles sont déplacées vers une nouvelle ligne. Puisqu'il y a une contrainte de seulement 1 caractère, chaque élément sera déplacé vers une nouvelle ligne en utilisant la meilleure approche identifiée par Python pour que l'objet soit imprimé. Cette approche garantit que chaque élément a une ligne complète afin qu'elle soit lisible et non cassée ou tronquée en mots partiels.

Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:

'a': 1,
'B': 2,
'C': 3,
'D': 4

Ajout de l'indentation à la sortie multilin à l'aide de pprint

Si vous avez une chaîne multiligne ou si vous avez cassé une seule sortie de ligne à la sortie multiline en utilisant la méthode expliquée ci-dessus, vous pouvez utiliser l'argument «indent» pour ajouter l'espacement avant chaque objet de la sortie. Jetez un œil à l'échantillon de code ci-dessous:

à partir de l'imprimée Pprint
D = "A": 1, "B": 2, "C": 3, "D": 4
pprint (d, largeur = 1, indent = 4)

L'échantillon de code est le même que l'exemple expliqué ci-dessus. Cependant, un nouvel argument appelé «retrait» avec une valeur de 4 a été ajouté. Cela ajoutera une indentation égale à 4 espaces avant chaque objet.

Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:

'a': 1,
'B': 2,
'C': 3,
'D': 4

Notez que l'argument «indent» n'aura aucun effet sur les sorties de ligne unique.

Limiter la sortie imprimée à certains niveaux

Si l'objet que vous imprimez contient des objets imbriqués, vous pouvez utiliser l'argument «profondeur» pour limiter la sortie à certains niveaux. Jetez un œil à l'échantillon de code ci-dessous:

à partir de l'imprimée Pprint
D = "A": 1, "B": 2, "C": 3, "D": [4, 5]
pprint (d, profondeur = 1)

Dans l'exemple ci-dessus, les données sont imprimées jusqu'à un niveau de profondeur de 1. En d'autres termes, seuls des objets qui ne contiennent pas d'autres objets imbriqués sont imprimés. La liste «[4, 5]» a un niveau de profondeur de 2 et ne sera pas imprimé. Pour indiquer qu'il est caché, trois points ou ellipses sont utilisés.

Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:

'A': 1, 'B': 2, 'C': 3, 'D': […]

Voici un autre exemple où une profondeur de 2 niveaux est utilisée. Le premier élément imbriqué apparaît dans la sortie mais le second ne.

à partir de l'imprimée Pprint
D = "A": 1, "B": 2, "C": 3, "D": [4, [5, 6]]
pprint (d, profondeur = 2)

Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:

'A': 1, 'B': 2, 'C': 3, 'D': [4, […]]

Obtenir une jolie sortie imprimée en tant que valeur de retour

Si vous souhaitez utiliser la sortie assez imprimée dans d'autres fonctions Python ou l'attribuer à une variable, vous pouvez utiliser la méthode «PFORMAT». Il est identique à la méthode Pprint, sauf qu'il n'imprime rien mais renvoie une chaîne formatée. Jetez un œil à l'échantillon de code ci-dessous:

à partir de pformat d'importation pprint
D = "A": 1, "B": 2, "C": 3, "D": [4, [5, 6]]
Pretty = PFFormat (D, Depth = 2)
Imprimer (joli)

Au lieu de Pprint, maintenant PFORMAT a été importé du module Pprint. La variable «joli» stocke la chaîne formatée afin qu'elle puisse être utilisée plus tard dans le code. La dernière instruction imprime la sortie de la jolie variable.

Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:

'A': 1, 'B': 2, 'C': 3, 'D': [4, […]]

Utilisation du module JSON pour imprimer un dictionnaire Python

Si vous souhaitez imprimer un dictionnaire Python dans une structure de type JSON bien en retrait, le module Pprint pourrait ne pas être suffisant. Dans un tel cas, la méthode «Dumps» du module JSON produit un bien meilleur résultat. Jetez un œil à l'échantillon de code ci-dessous:

à partir de l'imprimée Pprint
à partir des vidages d'importation JSON
D = "A": 1, "B": 2, "C": 3, "D": 4
pprint (d, largeur = 1, indent = 4)
Imprimer (Dumps (D, retrait = 4))

En plus de la méthode Pprint, la méthode «Dumps» du module JSON a maintenant été importée dans l'échantillon de code. Un argument appelé «retrait» avec une valeur de 4 a été fourni à la méthode des décharges.

Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:

'a': 1,
'B': 2,
'C': 3,
'D': 4

"A": 1,
"B": 2,
"C": 3,
"D": 4

Comme vous pouvez le voir dans la sortie, la méthode des vidages produit un meilleur dictionnaire Python formaté.

Conclusion

Le module Pretty Print ou Pprint peut être utilisé pour produire une sortie bien formatée dans Python. La sortie standard de nombreux objets Python peut ne pas être exactement lisible, surtout lorsque les données sont grandes et ont beaucoup d'objets imbriqués. Dans de tels cas, vous pouvez utiliser Pprint pour améliorer la lisibilité et la mise en forme de la sortie.