renommer des chaînes / renommer des fichiers en python
-
28-10-2019 - |
Question
J'ai un tas de fichiers comme ci-dessous:
_1 blank file_
_10 - blank file_
_11 - blank file_
_2 blank file_
_3 blank file_
Je voudrais imprimer le nom avec les chiffres complétés (2 caractères)
J'ai:
PATH = "/Users/seth/python/test"
#
#
for (path, dirs, files) in os.walk(PATH):
for z in files:
filename = z.replace(" ","_").replace("-","").replace("__","_")
print filename
Résultat souhaité:
_01_blank_file_
_02_blank_file_
_03_blank_file_
_10_blank_file_
_11_blank_file_
La solution
Vous pouvez utiliser rjust
pour cela:
for (path, dirs, files) in os.walk(PATH):
for z in files:
filename = z.replace(" ","_").replace("-","").replace("__","_")
# explode and transform number
parts = filename.split('_', 2)
parts[1] = parts[1].rjust(2, '0')
# rejoin the transformed parts
print '_'.join(parts)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow