Python字符串不在文件读取中

时间:2017-10-30 10:09:32

标签: python

我想检查文件中是否已存在字符串,并根据此检查执行某些操作。每天都会更详细地启动脚本,在csv文件中添加一行,其中一个字段是日期。

import time
today_fmt = time.strftime("%d/%m/%Y")
file = open('allowance.csv','a+')

var0 = today_fmt not in file.read()
var1 = '30/10/2017' not in file.read()

allowance.csv文件的位置如下:

28/10/2017,26.7,774.31
29/10/2017,25.62,717.29
30/10/2017,26.57,717.29

在这种情况下,today_fmt保存'30 / 10/2017',但是当我运行脚本(使用Python3.4)时,var0和var1都是 true ,我不明白我在哪里错误。我也尝试过:

var0 = str(today_fmt) not in file.read()

1 个答案:

答案 0 :(得分:2)

因为当您使用+选项打开文件时,文件指针将位于文件末尾。

import time 
today_fmt = time.strftime("%d/%m/%Y") 
file = open('allowance.csv','a+')
file.seek(0) # File pointer will be at the begining of file
var0 = today_fmt not in file.read() 
file.seek(0) # Seek again 
var1 = '30/10/2017' not in file.read()