Comment utiliser le module TextWrap en Python

Comment utiliser le module TextWrap en Python
Cet article couvrira un guide sur l'utilisation du module «textwrap» dans Python. Comme son nom l'indique, ce module peut être utilisé pour «envelopper» le texte afin que les lignes ou les phrases puissent être ajustées dans les contraintes de longueur prédéfinies. Cela se fait généralement en raccourcissant un morceau de texte et en déplaçant les parties plus longues vers la ligne suivante afin que toutes les lignes adhèrent aux limites de caractère. L'utilisation du module TextWrap peut être mieux comprise à travers des exemples. Vous trouverez ci-dessous quelques échantillons de code qui illustrent l'utilisation du module TextWrap et de ses méthodes. Ces échantillons de code sont testés avec Python 3.9.5 sur Ubuntu 21.04.

Emballage du texte à l'aide d'un seuil de limite de caractères

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

importer textwrap
Para = "Lorem ipsum Dolor Sit Amet, Consectetur Adipecing Elit, sed do eiusmod tempory inciditunt ut Labore et Dolore Magna Aliqua."
enveloppé_para = textwrap.enveloppe (para)
imprimer (enveloppé_para)
Pour la ligne dans Ending Improcd_Para:
Imprimer (ligne, Len (ligne))

La première instruction importe le module «textwrap». La variable «para» contient un morceau de texte qui sera enveloppé dans plusieurs lignes. Ensuite, la méthode «enveloppe» du module TextWrap est appelé en fournissant la variable de para comme argument. Cette méthode est utilisée pour envelopper et diviser le texte en plusieurs lignes. Les deux instructions «Imprimer» montrent la sortie du texte enveloppé.

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

['Lorem ipsum Dolor Sit Amet, Consectetur adipiscing elit, sed do', 'eiusmod tempor.']
Lorem ipsum Dolor Sit Amet, Consectetur adipiscing elit, sed do 63
Eiusmod temporaire inciditun ut Labore et Dolore Magna Aliqua. 59

La méthode de Wrap renvoie une liste de para segmentée, comme le montre la première ligne de la sortie. Vous pouvez exécuter une variété d'opérations sur la liste pour présenter le texte comme vous le souhaitez. Les deux dernières lignes de la sortie montrent la sortie des lignes segmentées individuelles et leur nombre de caractères. Par défaut, la méthode de Wrap applique une limite de caractères de 70 caractères. Vous pouvez modifier cette limite en fournissant un argument de «largeur» supplémentaire avec votre propre valeur personnalisée, comme indiqué dans l'échantillon de code ci-dessous:

importer textwrap
Para = "Lorem ipsum Dolor Sit Amet, Consectetur Adipecing Elit, sed do eiusmod tempory inciditunt ut Labore et Dolore Magna Aliqua."
enveloppé_para = textwrap.enveloppe (para, largeur = 90)
imprimer (enveloppé_para)
Pour la ligne dans Ending Improcd_Para:
Imprimer (ligne, Len (ligne))

Avec la limite de caractères de 90 caractères maintenant, l'échantillon de code ci-dessus produit désormais une sortie différente:

['Lorem ipsum Dolor Sit Amet, Consectetur adipiscing elit, sed do eiusmod tempor.']
Lorem ipsum Dolor Sit Amet, Consectetur adipiscing elit, sed do eiusmod tempory inciditun 89
Ut Labore et Dolore Magna Aliqua. 33

Utilisation de la méthode de remplissage pour produire un morceau de texte enveloppé

Si vous ne voulez pas de liste de texte segmenté et que vous souhaitez directement utiliser le texte multi-lignée enveloppé, vous pouvez utiliser la méthode «Remplir» disponible dans le module TextWrap.

importer textwrap
Para = "Lorem ipsum Dolor Sit Amet, Consectetur Adipecing Elit, sed do eiusmod tempory inciditunt ut Labore et Dolore Magna Aliqua."
enveloppé_para = textwrap.remplir (paragraphe, largeur = 90)
imprimer (enveloppé_para)

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

Lorem ipsum Dolor Sit Amet, Consectetur adipiscing elit, sed do eiusmod tempor
Ut Labore et Dolore Magna Aliqua.

La méthode de remplissage sépare chaque ligne segmentée avec un caractère de la nouvelle ligne «\ n». Il s'agit d'une méthode de commodité incluse dans le module TextWrap. Vous pouvez réaliser le même effet en utilisant la méthode de Wrap en rejoignant les lignes segmentées de la liste en utilisant le caractère «\ n».

importer textwrap
Para = "Lorem ipsum Dolor Sit Amet, Consectetur Adipecing Elit, sed do eiusmod tempory inciditunt ut Labore et Dolore Magna Aliqua."
enveloppé_para = "\ n".rejoindre (textwrap.enveloppe (para, largeur = 90))
imprimer (enveloppé_para)

Raccourcir ou tronquer le texte

Vous pouvez tronquer ou raccourcir le texte en utilisant la méthode «raccourcir» disponible dans le module TextWrap. Il réduira le texte jusqu'à une limite de caractère particulière spécifiée comme argument. À la fin du texte, trois points (ellipsis) seront ajoutés pour indiquer qu'il s'agit d'un court résumé du texte et non d'un paragraphe complet ou d'une phrase. Notez que la méthode Shorten peut ne pas fonctionner correctement avec des textes qui ne contiennent pas de mots séparés d'espace approprié. S'il y a plusieurs espaces blancs entre les mots, ils seront réduits à un seul espace blanc.

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

importer textwrap
Para = "Lorem ipsum Dolor Sit Amet, Consectetur Adipecing Elit, sed do eiusmod tempory inciditunt ut Labore et Dolore Magna Aliqua."
enveloppé_para = textwrap.Shorten (paragraphe, largeur = 90)
imprimer (enveloppé_para)

Le code est assez simple. Vous appelez la méthode Shorten en fournissant la variable para comme argument obligatoire et spécifiez une limite de caractère. Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:

Lorem ipsum Dolor Sit Amet, Consectetur adipiscing elit, sed do eiusmod tempor […]

Ajouter et supprimer l'indentation

Vous pouvez utiliser la méthode «Dedent» pour supprimer et «indenter» la méthode pour ajouter une indentation principale à chaque ligne dans un morceau de texte. L'exemple de code ci-dessous montre l'utilisation de la méthode Dedent:

importer textwrap
Para = "Lorem ipsum Dolor Sit Amet, Consectetur Adipecing Elit, sed do eiusmod tempory inciditunt ut Labore et Dolore Magna Aliqua.
Sed do eiusmod temporaire incidintun ut Labore et dolore magna aliqua."
Imprimer (para)
enveloppé_para = textwrap.Dedent (para)
imprimer (enveloppé_para)

La variable Para contient désormais deux lignes, chacune avec une indentation principale d'un caractère d'onglet (environ quatre espaces). String enveloppé dans des citations triples préserve l'espacement et ces chaînes sont présentées «telles quelles» sans aucune modification et sans échapper à des caractères spéciaux. La méthode Dedent est ensuite appelée en lui fournissant la variable para comme un argument. Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:

Lorem ipsum Dolor Sit Amet, Consectetur adipiscing elit, sed do eiusmod tempory inciditunt ut Labore et Dolore Magna Aliqua.
Sed do eiusmod temporaire incidintun ut Labore et dolore magna aliqua.
Lorem ipsum Dolor Sit Amet, Consectetur adipiscing elit, sed do eiusmod tempory inciditunt ut Labore et Dolore Magna Aliqua.
Sed do eiusmod temporaire incidintun ut Labore et dolore magna aliqua.

Les deux premières lignes montrent le texte original avec les principaux indentations. Les deux dernières lignes de sortie montrent les deux mêmes lignes avec les principaux indentations supprimées.

La méthode «indent» fonctionne de manière similaire, mais vous devez maintenant spécifier une chaîne d'indentation principale ou un préfixe comme argument supplémentaire.

importer textwrap
Para = "Lorem ipsum Dolor Sit Amet, Consectetur Adipiscing Elit.
Sed do eiusmod temporaire incidintun ut Labore et dolore magna aliqua."
Imprimer (para)
enveloppé_para = textwrap.indent (para, "\ t")
imprimer (enveloppé_para)

Ici, le caractère d'onglet «\ t» est utilisé pour ajouter un onglet avant chaque ligne du texte. Après avoir exécuté l'échantillon de code ci-dessus, vous devriez obtenir la sortie suivante:

Lorem ipsum Dolor Sit Amet, Consectetur adipiscing Elit.
Sed do eiusmod temporaire incidintun ut Labore et dolore magna aliqua.
Lorem ipsum Dolor Sit Amet, Consectetur adipiscing Elit.
Sed do eiusmod temporaire incidintun ut Labore et dolore magna aliqua.

Conclusion

Le module TextWrap fournit un certain nombre de méthodes pratiques vous permettant de raccourcir le texte de diverses manières. L'utilisation de ces méthodes sur les paragraphes peut améliorer leur formatage et leur lisibilité, en particulier dans les interfaces utilisateur avec les contraintes d'espace.