下面是一个示例代码,根据特定的时间戳保留行直到特定时间戳,即使最后一行不存在:
import time
def keep_lines_until_timestamp(file_path, target_timestamp):
lines_to_keep = []
with open(file_path, 'r') as file:
for line in file:
# 获取每一行的时间戳
line_timestamp = int(line.split(',')[0]) # 假设时间戳在每行的开头,以逗号分隔其他内容
if line_timestamp <= target_timestamp:
lines_to_keep.append(line)
# 如果文件中没有满足条件的行,最后一行的时间戳将是大于目标时间戳
# 因此需要手动添加最后一行
if not lines_to_keep:
with open(file_path, 'r') as file:
last_line = file.readlines()[-1]
lines_to_keep.append(last_line)
# 写入保留的行到新文件中
with open('new_file.txt', 'w') as new_file:
new_file.writelines(lines_to_keep)
# 示例用法
keep_lines_until_timestamp('file.txt', 1590000000)
在这个示例中,我们首先读取文件的每一行,并获取每一行的时间戳。然后,我们将满足条件的行保存到一个列表中。如果文件中没有满足条件的行,我们手动获取最后一行并添加到列表中。最后,我们将保留的行写入一个新的文件中(可以根据需要修改文件名)。
上一篇:保留行名称与order()排序