我试图从文件中分割内容,这个文件有很多行,我们不知道有多少行 例如,我在文件中有以下数据:
7:1_8:35_2016-04-14
8:1_9:35_2016-04-15
9:1_10:35_2016-04-16
使用paython,我想在每一行循环,并像这样分割每一行:
for line in iter(file):
task =line.split("_")
first_time=task[0] #8:1
second_time=task[1] #9:35
date=task[2] #2016-04-15
但这会给我: 任务[0]是第一行 任务[1]是第二行,以此类推。。。。我怎么能一次只读一行,把它的内容分成几行去做一些事情,其他几行也一样。你知道吗
更新我的问题:完整代码:
with open('onlyOnce.txt', 'r') as fp:
for f_time, sec_time, dte in filter(None, reader(fp, delimiter="_")):
check_stime=f_time.split(":")
Stask_hour=check_stime[0]
Stask_minutes=check_stime[1]
check_etime=sec_time.split(":")
Etask_hour=check_etime[0]
Etask_minutes=check_etime[1]
#check every minute if current information = desired information
now = datetime.now()
now_time = now.time()
date_now = now.date()
if (time(Stask_hour,Stask_minutes) <= now_time <= time(Etask_hour,Etask_minutes) and date_now == dte):
print("this line in range time: "+ f_time)
else:
print("")
fp.close()
我从这个代码的目的是:检查当前时间与每一行,当当前行在范围内的“第一行”//做一些事情,这就像制定时间表或报警。你知道吗
错误是:
Traceback (most recent call last):
File "<encoding error>", line 148, in <module>
TypeError: 'module' object is not callable
好的,最后更新是:
from datetime import datetime,time
from csv import reader
with open('onlyOnce.txt', 'r') as fp:
for f_time, sec_time, dte in filter(None, reader(fp, delimiter="_")):
check_stime=f_time.split(":")
Stask_hour=check_stime[0]
Stask_minutes=check_stime[1]
check_etime=sec_time.split(":")
Etask_hour=check_etime[0]
Etask_minutes=check_etime[1]
#check every minute if current information = desired information
now = datetime.now()
now_time = now.time()
date_now = now.date()
if time(int(Stask_hour),int(Stask_minutes)) <= now_time <= time(int(Etask_hour),int(Etask_minutes) and dte == date_now):
print("this line in range time: "+ f_time)
else:
print("")
fp.close()
但我想问一个愚蠢的问题:/ 当我检查这个逻辑时,不会打印“是”!!但日期是2016年4月14日,所以为什么不正确??我很困惑
if('2016-04-14' == datetime.now().date() ):
print("yes")
感谢每一个帮助我的人:帕德雷克·坎宁安和其他人
使用csv reader传递file object并使用
_
作为分隔符:它会给你一些输出,比如:
由于您有空行,我们需要过滤掉这些空行:
因此,现在将删除空行:
如果要将当前日期、小时和分钟与当前时间进行比较:
或者更简单的方法是解析时间:
通过逐行加载到内存中,这是读取文件最有效的方法。你知道吗
相关问题 更多 >
编程相关推荐