我想检查文件中是否已存在字符串,并根据此检查执行某些操作。每天都会更详细地启动脚本,在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()
答案 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()