J'écris une série d'instructions SQL dans un fichier en utilisant python. La chaîne de modèle ressemble à:Python file.write créant un retour chariot supplémentaire
store_insert = '\tinsert stores (storenum, ...) values (\'%s\', ...)'
J'écris au fichier comme ceci:
for line in source:
line = line.rstrip()
fields = line.split('\t')
script.write(store_insert % tuple(fields))
script.write(os.linesep)
Cependant, la sortie résultante, je vois \ r \ r \ n à la fin de chaque ligne, plutôt que \ r \ n comme je m'y attends. Pourquoi?
La mise en forme des chaînes '%' est maintenant ancienne; l'idiome préféré est 'str.format' =) – katrielalex
Avez-vous ouvert le fichier en mode texte ou binaire? Quel système d'exploitation utilisez-vous? – AndiDog
Windows, et je viens de faire un ouvert (fichier, 'r') – Chris