Bonjour,
Pour éviter d'avoir à coder 1 centaine de fois la commande suivante :
Rxx_input_tab = open('Rxx-input-file.csv','w')
en faisant varier les valeurs xx de 10 à 99,
j'ai essayé de créer une boucle qui ressemble à ceci :
malheureusement, ça ne marche pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for i in range(10,99): s = str(i) open_file = s + "_input_tab = open('" + s + "-input-file.csv','w')" eval(open_file)
open_file contient bien la chaine attendue telle que :
R10_input_tab = open('R10-input-file.csv','w')
mais, l'eval de open_file échoue avec le message suivant :
L'erreur pointe sur le signe "=" qui ne semble pas supporter par la fonction eval() ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 >>> eval(open_file) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1 R10_input_tab = open('R10-input-file.csv','w') ^ SyntaxError: invalid syntax
Si quelqu'un a une idée pour faire varier le nom de la variable "Rxx_input_tab" (pas le nom du fichier lui-même, ce qui ne pose pas de pb, sans même passer par eval), merci d'avance
(je suis en Python 2.7)
Partager