我想使用j
的单独for循环添加文件 abc 的前七行,其余的后续行作为for i
的for循环。但是下面的脚本只给了64行(只执行了i
for循环)。
f = open("abc","r")
ff = open("xyz","w")
headers = f.readlines()[0:7]
for j in headers:
print >>ff, j.rstrip('\n')
lines = f.readlines()[-64:]
for i in lines:
print >>ff, "ss ", i.rstrip('\n')
f.close()
ff.close()
可能是什么问题?另外,我可以使用raw_input()
?
答案 0 :(得分:2)
这里的问题是第一次调用f.readlines()
会通过全部读取来耗尽文件。然后你将前七行扔掉。尝试类似:
content = file.readlines()
headers = content[:7] # the starting zero is implied
:
:
lines = content[-64:]
这样你就不会在耗尽的文件上使用readlines()
。