Команда write не печатает все в одной строке - PullRequest
1 голос
/ 24 октября 2019

Я использую следующие команды внутри цикла, чтобы открыть файл .txt и записать в него некоторые результаты.

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

Однако результаты не печатаются в одной строке в .txtфайл и str (gcur) появляются на следующем.

Почему это происходит и как это можно решить?

Ответы [ 2 ]

3 голосов
/ 24 октября 2019

Скорее всего, потому что при вызове str на dcur он как-то добавляет "\n".

Вы можете полоса это:

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")))
0 голосов
/ 24 октября 2019

Вы печатаете строку формата '%s %d %s %s \n', в которой %s и %d заменены timestamp, v, str(dcur), str(gcur) переменными. Обратите внимание на \n в конце строки формата - это символ новой строки. Вы должны удалить его, если хотите, чтобы все печаталось на одной строке, например:

with open ('results.txt', 'a') as file: 
    file.write('%s %d %s %s' %(timestamp, v, str(dcur), str(gcur)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...