在文件中写入行后,如何在文件顶部写入行数?
How to write the line count at top of the file after the lines are written in that file?
谁能告诉我如何在使用 python 将行写入文件后在文件顶部写入行数?
line_count=?
sam
john
gus
heisenberg
f.seek(0)
f.write("line_count = %s\n"%n)
f.close()
其中 n 是行计数值
你不能这么简单完全。文件是字节序列。您必须首先确保在编写所有这些行时,将它们写入它们的 final 位置。最简单的方法是在第一次写入文件时“保留”space 作为行数。就像您在描述中所做的一样,编写整个文件,但为行数保留“占位符”空间。例如,如果文件中最多有 9999 行,则为该计数保留四个字节:
line_count=????
sam
john
gus
heisenberg
一旦你写完所有的行,然后用 seek(11)
和 file.write()
返回到文件中适当的字节位置(字节 11-14)和 file.write()
计数,格式为四字符。
我假设您已经知道如何将行写入文件,以及如何格式化整数。您所缺少的只是基本逻辑和 seek
方法。
给你!
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}\n\n") # This is your header xoxo
for row in text:
newtext.write(row) # put all of the original lines back
newtext.close()
确保输入文本文件的路径,但这个简短的脚本只会添加您想要的 line_count = Number header。干杯!
谁能告诉我如何在使用 python 将行写入文件后在文件顶部写入行数?
line_count=?
sam
john
gus
heisenberg
f.seek(0)
f.write("line_count = %s\n"%n)
f.close()
其中 n 是行计数值
你不能这么简单完全。文件是字节序列。您必须首先确保在编写所有这些行时,将它们写入它们的 final 位置。最简单的方法是在第一次写入文件时“保留”space 作为行数。就像您在描述中所做的一样,编写整个文件,但为行数保留“占位符”空间。例如,如果文件中最多有 9999 行,则为该计数保留四个字节:
line_count=????
sam
john
gus
heisenberg
一旦你写完所有的行,然后用 seek(11)
和 file.write()
返回到文件中适当的字节位置(字节 11-14)和 file.write()
计数,格式为四字符。
我假设您已经知道如何将行写入文件,以及如何格式化整数。您所缺少的只是基本逻辑和 seek
方法。
给你!
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}\n\n") # This is your header xoxo
for row in text:
newtext.write(row) # put all of the original lines back
newtext.close()
确保输入文本文件的路径,但这个简短的脚本只会添加您想要的 line_count = Number header。干杯!