Обработка строк из текстовых файлов - PullRequest
0 голосов
/ 11 мая 2018

Есть кое-что, что я в корне неправильно понимаю.Относительно новичок в Python в целом, я был бы очень признателен, если бы я мог быть направлен в правильном направлении, куда я иду для лучшего понимания.

Это файл конфигурации, который читает другая программа, с которой я работаюи добавляет к.

Color=blue
Start Date=10/01/2017
End Date=01/01/2018
01/01/2017 This is what happened on this date.
04/01/2017 This is what happened on this date.
07/01/2017 This is what happened on this date.
10/01/2017 This is what happened on this date.
01/01/2018 This is what happened on this date.

Моя цель состоит в том, чтобы просто заменить строки 2 и 3 на более новые даты, чтобы в следующий раз, когда эта конфигурация была прочитана, она получала ежеквартальный отчет с правильными датами начала и окончания.,Затем это автоматически отправляется по электронной почте нескольким руководителям.

У меня нет проблем с вычислением даты и генерацией того, что входит в две строки, поэтому я для краткости исключил это здесь.

Это пример, который я написал, чтобы проиллюстрировать, что не так.

#--------------------------------------------------
import os
import sys

Line2 = 'Start Date=01/01/2018'
Line3 = 'End Date=04/01/2018'

ResultFile = open('C:/Apps/newconfig.txt','w')

try:
    f = open('C:/Apps/config.txt','r')
    for line in f:
        if line[0:5] == 'Start':
            print(Line2, file=ResultFile)
        elif line[0:5] == 'End D':
            print(Line3, file=ResultFile)
        else:
            print(line, file=ResultFile)
    f.close()

except:
    print('fail', file=ResultFile)

ResultFile.close()
#--------------------------------------------------

Что я не понимаю, так это почему код:

        print(line, file=ResultFile)

Записывает это в ResultFile:

('Color=blue\n')

Почему здесь круглые скобки, одинарные кавычки и новая строка?

Тем не менее, когда я решил присвоить его переменной с использованием среза, мне нужно было толькоразобраться с новой строкой.Я справился с этим, используя следующее:

    ConfigFileLen = len(line)
    ConfigFileLine = line[0:ConfigFileLen-1]

и

    print(ConfigFileLine, file=ResultFile)

Но это просто кажется неловким, поэтому я подумал, что спросить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...