有人能告诉我如何在使用python在该文件中写入行后在文件顶部编写行计数吗?
line_count=?
sam
john
gus
heisenberg
给你!
text = open("textfile.txt").readlines()
counter = 0
for row in text:
counter += 1 # just snags the total amount of rows
newtext = open("textfile.txt","w")
newtext.write(f"line_count = {counter}nn") # This is your header xoxo
for row in text:
newtext.write(row) # put all of the original lines back
newtext.close()
确保您输入了文本文件的路径,但是这个简短的脚本只会添加您想要的line_count = Number头。干杯!
你做不到那么简单文件是一个字节序列。您必须首先确保在编写所有这些行时,将它们写入它们的最终位置。最简单的方法就是"保留"。第一次写入文件时用于行数的空间。就像你在描述中所做的那样,写出整个文件,但要保留"占位符"。排队的地方。例如,如果文件中最多有9999行,那么为该计数保留4个字节:
line_count=????
sam
john
gus
heisenberg
一旦你写完所有的行,然后备份到文件中适当的字节位置(字节11-14),seek(11)
和file.write()
是计数,格式化为四个字符。
我假设您已经知道如何将行写入文件,以及如何格式化整数。你所缺少的只是基本的逻辑和seek
方法。
f.seek(0)
f.write("line_count = %sn"%n)
f.close()
其中n为行计数值