Commande d'écriture n'imprime pas tout sur la même ligne

voix
0

J'utilise les commandes suivantes dans une boucle pour ouvrir un fichier txt et écrire des résultats sur le fichier.

with open ('results.txt', 'a') as file: 
    file.write('%s %d %s %s \n' %(timestamp, v, str(dcur), str(gcur)))

Cependant, les résultats ne sont pas imprimés sur la même ligne au fichier txt et str (gcur) apparaît sur la suivante.

Pourquoi cela se produit et comment pourrait-il être résolu?

Créé 24/10/2019 à 11:53
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
1

La plupart est probablement parce que lors de l' appel strà dcurelle ajoute une "\n"certaine façon.

Vous pouvez, il dépouillé:

with open ('results.txt', 'a') as file: 
    file.write('%s %d %s %s \n'.format(timestamp, v, str(dcur).rstript("\n"), str(gcur).rstript("\n")))
Créé 24/10/2019 à 11:57
source utilisateur

voix
0

Vous imprimez la chaîne de format '%s %d %s %s \n'dans lequel %set %dsont remplacées par des timestamp, v, str(dcur), str(gcur)variables. Notez le \nà la fin de votre chaîne de format - c'est le caractère de nouvelle ligne. Vous devez le supprimer si vous voulez que tout soit imprimé sur la même ligne, comme ceci:

with open ('results.txt', 'a') as file: 
    file.write('%s %d %s %s' %(timestamp, v, str(dcur), str(gcur)))
Créé 24/10/2019 à 12:14
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more