如何在 if 语句中包含满足条件的最后一个实例?

时间:2021-08-12 04:27:24

标签: python arrays datetime if-statement

我有一个文档,在其中读和写。信息以时间戳的形式列出,每个条目开头都有一个时间戳。我正在尝试为所有条目填充日期时间数组,但是我注意到最后一行没有添加到数组中,无论我有多少条目。我不知道如何解决这个问题。

这是我正在读和写的文本文件的示例。

在此示例中,该数组将从第一行和第二行创建的日期时间对象填充,但它没有添加最后一个条目。

2021-08-10 16:26:12

123

123

123

123

123

2021-08-10 16:26:28

123

123

123

123

123

2021-08-10 16:27:15

123

123

123

123

123

我尝试从 while 循环的开头删除'\n'似乎起作用,但下次运行代码时,它会影响格式并且几乎破坏了。对于我的代码缺乏结构表示歉意。

f = open("filename", "r")
dateNTimeArr = []

for line in f:
    if "2021" in line:
        datentime = line.split(" ")
        datePart = datentime[0]
        timePart = datentime[1]
        hours, mins, secs = timePart.split(":")
        year, month, day = datePart.split("-")
        date1 = date(int(year), int(month), int(day))
        time1 = time(int(hours), int(mins), int(secs))
        datetime1 = datetime.combine(date1, time1)
        dateNTimeArr.append(datetime1)

f.close()

f = open("filename", "a+")


submitBool = FALSE
while submitBool == FALSE:
    f.write('\n')
    f.write(now)
    f.write('\n')
    f.write(aQuantity.get())
    f.write('\n')
    f.write(bQuantity.get())
    f.write('\n')
    f.write(cQuantity.get())
    f.write('\n')
    f.write(dQuantity.get())
    f.write('\n')
    f.write(eQuantity.get())
    submitBool = TRUE

f.close()

0 个答案:

没有答案