擅长:python、mysql、java
<p>如果不想完全循环该文件,可以使用以下命令:</p>
<pre><code>#!/usr/bin/python
exp = 5
seq = ["This is new line\n","This is new line\n"]
# Open a file
fo = open("foo.txt", "r+b")
lngth = 0
#count the number of char until the desired line
for i in range(1,exp):
line = fo.readline()
lngth = len(line) + lngth
# read the rest of the file
lines = fo.read()
# go back to insert position
fo.seek(lngth, 0)
# insert sequence in file
fo.writelines(seq)
# write rest of the file
fo.write(lines)
# Close opend file
fo.close()
</code></pre>
<p>对于原始测试输入:</p>
^{pr2}$
<p>我得到了以下信息:</p>
<pre><code>This is 1st line
This is 2nd line
This is 3rd line
This is 4th line
This is new line
This is new line
This is 5th line
This is 6st line
This is 7nd line
This is 8rd line
This is 9th line
This is 10th line
</code></pre>
<p>如果您有一个巨大的文件,您无法将其加载到RAM中(请参见阅读)您可能希望使用其他一些解决方案进行枚举和逐行处理。
希望这有帮助!在</p>