如何在其中更改循环?

时间:2018-06-24 11:28:44

标签: python loops for-loop

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")

2 个答案:

答案 0 :(得分:0)

我猜是Python。是的,##一次读取整个文件。为了避免这种情况,您可以使用:

#define A  (-B)
#define B  (-C)
#define C  5

答案 1 :(得分:0)

也许您可以在Python tutorial中找到适当的信息。它说

  

如果要读取列表中文件的所有行,还可以使用list(f)或f.readlines()。   因此,是的,所有行都已读取并存储在内存中。

手册也说:

  

f.readline()从文件中读取一行;   可以在manual中找到更多详细信息。