Найти в Дзене
SCIENCE IT

Une introduction courte in une un étalon bibliothèque - une fraction Ii

Cette deuxième partie de la visite traite des modules avancés. Ces modules sont rarement trouvés dans de petits scripts. Formatage de sortie Le module reprlib fournit une variante de repr() qui est conçue pour l'affichage abrégé de grands conteneurs ou de conteneurs profondément imbriqués : >>> Reprise de l'importation de l'importation de l'importation >>> Sous-titres par MemoryOnSmells ; "set(['a','c','d','e','f','g', ...]". Le module pprint permet un contrôle plus sophistiqué de la sortie des objets intégrés et définis par l'utilisateur afin qu'ils puissent être lus par l'agent utilisateur. Si le résultat est plus long qu'une ligne, l'imprimante ajoute des sauts de ligne et des indentations pour montrer plus clairement la structure des données : >>> Importation d'impression >>> t = [[[[[[[[['noir','cyan']]],'blanc', ['vert','rouge']]], [['magenta', ... jaune'],'bleu']]]]]]]]]]]]. ... >>>>> pprint.pprint.pprint.pprint(t, width=30) [[[[[[[['noir','cyan']], "Blanc." ('vert','
https://as1.ftcdn.net/jpg/01/16/75/92/500_F_116759237_5R3C5N66rnu5VCgJ7JocOaqtTrVyXFeS.jpg
https://as1.ftcdn.net/jpg/01/16/75/92/500_F_116759237_5R3C5N66rnu5VCgJ7JocOaqtTrVyXFeS.jpg

Cette deuxième partie de la visite traite des modules avancés. Ces modules sont rarement trouvés dans de petits scripts.

Formatage de sortie

Le module reprlib fournit une variante de repr() qui est conçue pour l'affichage abrégé de grands conteneurs ou de conteneurs profondément imbriqués :

>>> Reprise de l'importation de l'importation de l'importation
>>> Sous-titres par MemoryOnSmells ;
"set(['a','c','d','e','f','g', ...]".

Le module pprint permet un contrôle plus sophistiqué de la sortie des objets intégrés et définis par l'utilisateur afin qu'ils puissent être lus par l'agent utilisateur. Si le résultat est plus long qu'une ligne, l'imprimante ajoute des sauts de ligne et des indentations pour montrer plus clairement la structure des données :

>>> Importation d'impression
>>> t = [[[[[[[[['noir','cyan']]],'blanc', ['vert','rouge']]], [['magenta',
... jaune'],'bleu']]]]]]]]]]]].
...
>>>>> pprint.pprint.pprint.pprint(t, width=30)
[[[[[[[['noir','cyan']],
"Blanc."
('vert','rouge'),
magenta,'jaune'],

C'était un plaisir de vous rencontrer

L'élément d'habillage de texte formate les paragraphes de texte pour correspondre à une largeur donnée de l'écran :

>>> Importation d'un film texte
>>>>> doc = """La méthode wrap() se comporte comme fill() sauf que
.... au lieu d'une seule grande chaîne de caractères avec des sauts de ligne, un
...liste de cordes pour renvoyer les lignes de la plaie.
... "de se séparer l'un de l'autre.""
...
>>> imprimer (textwrap.fill (doc, width=40)))
La méthode wrap() se comporte comme une méthode
fill(), sauf qu'au lieu d'un fichier
une seule chaîne de grands caractères avec
Les sauts de ligne, une liste de
renvoie les chaînes de caractères à la méthode
lignes enroulées l'une par l'autre à

Séparés

Le module local accède à une base de données avec des formats de données spécifiques au pays. L'attribut de groupement de la fonction de formatage local permet de formater facilement les numéros avec des milliers de séparateurs :

>>> Importation locale
>>>>> local.setlocal(local.LC_ALL,'de_DE.UTF-8')
Sous-titres par MemoryOnSmells ;
>>> conv = locale.localeconv() # obtenir les conventions de conception
>>> x = 1234567.8
>>> local.format("%d", x, groupage=True)
'1.234.567'
>>> local.format_string("%s%.*f", (conv['currency_symbol']]),
... conv['frac_digits'], x), groupage=True)
'€1.234.567,80'

modélisme

La chaîne de modules contient la classe polyvalente Template, qui peut être modifiée par l'utilisateur final grâce à sa syntaxe simplifiée. Cela permet aux utilisateurs de personnaliser leur application sans la modifier.

Le format utilise des caractères de remplissage composés de $ et d'un identifiant Python valide (caractères alphanumériques et caractères de soulignement). Si vous entourez un caractère de remplissage avec des crochets bouclés, d'autres caractères alphanumériques peuvent suivre sans espaces entre eux. Si vous écrivez $$, vous créez un seul $ escaptes :

>>>>> à partir d'un modèle de chaîne d'importation
>>>>> t = Gabarit('Citoyens de ${village} envoyez 10 € pour $cause.')
>>> t.substitute(village='Hannover', cause='den Grabenfond')
"Les citoyens de Hanovre envoient 10 euros pour le Grabenfond.

La méthode substitute() provoque une KeyError si un caractère de remplissage n'est pas fourni par un dictionnaire ou un argument de mot-clé. Pour les applications de fusion de courrier, les données fournies par l'utilisateur peuvent être incomplètes et la méthode safe_substitute() est donc plus appropriée - laissez les espaces réservés inchangés en cas de manque de données :

>>>>> t = Template('Return $item $owner.')
>>>>> d = dict(item='the swallow downloads')
t.substitute(d) >>>>>>> t.substitute(d)
Traceback (dernier appel du dernier appel) :
. . .
KeyError : "propriétaire
>>> Sync &amp ; corrections par honeybunny ;
"Rendez le propriétaire de l'hirondelle vide.

Les sous-classes de modèles peuvent spécifier leur propre délimiteur. Par exemple, un outil de renommage d'un navigateur photo peut sélectionner le signe pourcentage comme caractère générique pour la date du jour, le nombre de photos ou le format de fichier :

>>> Temps d'importation, chemin d'accès os.path
>>> Sous-titres par MemoryOnSmells ;
>>>>> Classe BatchRename (Template) :
..... délimiteur = "%".
>>>>> fmt = input('Renommer le schéma (date %d date %n nombre %f format) : ')
Schéma de redénomination (%d data %n number %n %n %n %n %f format) : Ashley_%n%n%n%f
t = BatchRename(fmt) >>>>>>> t = BatchRename(fmt)
>>> Sous-titres par MemoryOnSmells ;
>>>>> pour i, nom du fichier d'énumération (fichier photo) :
... base, ext = os.path.splitext(nom de fichier)
.... nouveau nom = t.substitute(d=date, n=i, f=ext)
... print('{0} --> {1}'.format(nom de fichier, nouveau nom)))))
Sous-titres par MemoryOnSmells ;
Sous-titres par MemoryOnSmells ;
Sous-titres par MemoryOnSmells ;

Une autre application pour les modèles est la séparation de la logique du programme et des détails des formats de sortie. Cela vous permet de remplacer vos modèles pour les fichiers XML, les rapports en texte brut et les rapports Web HTML.

https://as2.ftcdn.net/jpg/01/16/75/89/500_F_116758958_hN5upragKG1eplVutUNswUIMhgkcnyiK.jpg
https://as2.ftcdn.net/jpg/01/16/75/89/500_F_116758958_hN5upragKG1eplVutUNswUIMhgkcnyiK.jpg