Открытие двух файлов, обработка первого и вставка второго - PullRequest
0 голосов
/ 10 июля 2019

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

Файл inputfile.txt выглядит следующим образом:

item: 8.00

item2: 9.00

item3: 8.55

def thisisthefunction():
    infile = open('inputfile.txt')
    outfile = open('outputfile.txt', 'w')
    total = 0
    while True:
        contents = infile.readline()
        if ("" == contents):
            break;
        if ":" in contents:
            contentlist = contents.split(':')
            price = float(contentlist[1])
            outfile.write('{:30}{:8.2f}'.format(contentlist[0], price))
            total = total + price

    outfile.write('{:30}{:8.2f}'.format('Total:', total))
    infile.close()
    outfile.close()

readoutfile = open('outputfile.txt', 'r')
print(readoutfile.readline())
readoutfile.close()

Я надеялся получить его в строках и столбцах в outputfile.txt как:

Элемент: 8,00

Элемент 2: 9,00

Элемент 3: 8,55

Всего: 25,55

, но фактический результат составляет:

Элемент:8: 002: 9: 003: 8,55, общее: 25,55

1 Ответ

1 голос
/ 10 июля 2019

write() в отличие от print() не добавляет '\n' в конце, поэтому вы должны добавить его самостоятельно.

outfile.write( text + "\n" )

или

outfile.write( text )
outfile.write( "\n" )

Выможно также добавить в форматированный текст '{:30}{:8.2f}\n'

outfile.write('{:30}{:8.2f}\n'.format(contentlist[0], price))

outfile.write('{:30}{:8.2f}\n'.format('Total:', total))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...