for x in file.readlines():
something()
我认为这段代码在循环开始时会缓存所有行。我从文件中删除了一些行,但仍然重复删除的行。如何在其中更改循环?
def wanted(s,d):
print("deneme = " + str(s))
count = 0
total = 0
TG_count = TC_count = TA_count = GC_count = CC_count = CG_count = GG_count = AA_count = AT_count = TT_count = CT_count = AG_count = AC_count = GT_count = 0
for x in range(d,fileCount):
print(str(x+1) + 'st file processing...')
searchFile = open(str(x) + '.txt',encoding = 'utf-8',mode = "r+")
l = searchFile.readlines()
searchFile.seek(0)
for line in l:
if s in line[:12]:
blabla()
else:
searchFile.write(line)
searchFile.truncate()
searchFile.close()
for p in range(fileCount):
searchFile = open(str(p) + '.txt',encoding = 'utf-8',mode = "r+")
for z in searchFile.readlines():
wanted(z[:12],p)
print("Progressing file " + str(p) + " complete")
答案 0 :(得分:0)
我猜是Python。是的,##
一次读取整个文件。为了避免这种情况,您可以使用:
#define A (-B)
#define B (-C)
#define C 5
答案 1 :(得分:0)
也许您可以在Python tutorial中找到适当的信息。它说
如果要读取列表中文件的所有行,还可以使用list(f)或f.readlines()。 因此,是的,所有行都已读取并存储在内存中。
手册也说:
f.readline()从文件中读取一行; 可以在manual中找到更多详细信息。