J'ai des fichiers générés, où les noms de fichiers contiennent un entier, mais ont également un préfixe, comme ceci :

snapshot_data_vss_iter_10000.caffemodel snapshot_data_vss_iter_1000.caffemodel snapshot_data_vss_iter_500.caffemodel

Comment remplir les entiers avec des zéros non significatifs pour pouvoir utiliser sort() plus tard ?

Edit: je connais zfill(), mais cela m'oblige à diviser d'abord la chaîne pour en extraire la partie entière, la remplir, puis la remplacer. Je me demandais s'il y avait une façon plus pythonique de le faire

Je vous remercie

-1
simplename 21 févr. 2020 à 20:17

1 réponse

Meilleure réponse

Je suggérerais d'utiliser le formatage (ce qui est agréable avec une chaîne de format):

>>> iters = 500
>>> f'snapshot_data_vss_iter_{iters:05}.caffemodel'
'snapshot_data_vss_iter_00500.caffemodel'

Le :05 signifie que l'on saisit à gauche jusqu'à au moins 5 caractères en utilisant des zéros. Il y a diverses autres choses que vous pouvez faire avec le formatage des chaînes, je suggère de lire .

1
orlp 21 févr. 2020 à 17:20