53 votes

Transformer un int en string en Python

Je souhaite pouvoir générer un certain nombre de fichiers texte portant le nom fileX.txt où X est un nombre entier :

for i in range(key):
    filename = "ME" + i + ".txt" //Error here! Can't concat a string and int
    filenum = filename
    filenum = open(filename , 'w')  

Est-ce que quelqu'un d'autre sait comment faire le nom de fichier = "ME" + la partie i pour que j'obtienne une liste de fichiers avec les noms : "ME0.txt", "ME1.txt", "ME2.txt", etc.

0voto

user5994461 Points 2722

Fonctionne avec Python 3 et Python 2.7

for i in range(50):
    filename = "example{:03d}.txt".format(i)
    print(filename)

Utiliser le format {:03d} pour avoir 3 chiffres avec un 0 en tête, c'est une bonne astuce pour que les fichiers apparaissent dans le bon ordre quand on les regarde dans l'explorateur. Laisser les parenthèses vides {} pour le formatage par défaut.

# output
example000.txt
example001.txt
example002.txt
example003.txt

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X