获取循环内的文本文件的最后一行
问题描述:
get_number = int(raw_input("How many bootloogs do you wish to upload? "))
我想获取用户输入的txt文件的最后一行。例如,如果get_number = 2 最后3行是多余的。我将在文本结尾处获得第4行和第5行。获取循环内的文本文件的最后一行
first_log = file(file_success, 'r').readlines()[-4]
second_log = file(file_success, 'r').readlines()[-5]
如果get_number = 3
然后,我将需要添加另一条线路。
third_log = file(file_success, 'r').readlines()[-6]
get_number可以达到9
最后,我会将该数据写入TXT文件。
with open(logs_file, "a+") as f:
f.write("===========================================")
f.write(ip)
f.write("===========================================\r\n")
f.write(first_log)
f.write(second_log)
f.close()
我该如何实现循环?
答
如果你的日志文件可以容纳整到内存中,你可以切片和扭转线:
log_lines = file(file_success, 'r').readlines()
with open(logs_file, "a+") as f:
f.write("===========================================")
f.write(ip)
f.write("===========================================\r\n")
f.write("".join(log_lines[-4:-4-get_number:-1]))
f.close()
答
您可以使用类似这样
get_number = int(raw_input("How many bootloogs do you wish to upload? "))
all_lines = file(file_success, 'r').readlines()
extracted_lines = []
for i in range(get_number):
extracted_lines.append(all_lines[-4 - i])
如果它总是从4号线启动从最后? – Haris
是@哈里斯。谢谢你的帮助。 – pydev