Rinomina le stringhe / rinomina i file in Python
-
28-10-2019 - |
Domanda
Ho un sacco di file come sotto:
_1 blank file_
_10 - blank file_
_11 - blank file_
_2 blank file_
_3 blank file_
Vorrei stampare il nome con i numeri imbottiti (2 caratteri)
Io ho :
PATH = "/Users/seth/python/test"
#
#
for (path, dirs, files) in os.walk(PATH):
for z in files:
filename = z.replace(" ","_").replace("-","").replace("__","_")
print filename
Output desiderato:
_01_blank_file_
_02_blank_file_
_03_blank_file_
_10_blank_file_
_11_blank_file_
Soluzione
Puoi usare rjust
per quello:
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)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow