在python中遍历大型文件目录系统,获得太多值以至于无法解压缩

我正在使用python遍历一个非常大的文件和目录系统。我是从基本目录开始的,我知道该目录经过基本目录的深度不会超过1个文件夹。我正在尝试使用以下代码读取base_directories子文件夹中每个文件的第二行:


a_list = []

  for dir, files in os.walk(base_directory):

    for file in files:

      f=open(file, 'r')

      for line in f:

        #reads in the second line

        if line==1:

          a_list.append(line)

          break

      f.close() 

但是我有太多值无法在“对于dir,文件位于os.walk(base_directory)中”这一行中专门解压缩,谢谢您的帮助!


largeQ
浏览 210回答 1
1回答

qq_遁去的一_1

您应该打开一个三元组的包装步行(top,topdown = True,onerror = None,followlinks = False)     目录树生成器。     对于根目录在目录树顶部的每个目录(包括顶部     本身,但不包括“。” 和'..'),产生一个三元组         目录路径,目录名,文件名例如。for dir, dirnames, files in os.walk(base_directory):此外,这将无法正常工作。line是初学者的字符串 for line in f:    #reads in the second line    if line==1:      a_list.append(line)      break您可以将其更改为这样的内容  for i, line in enumerate(f):    #reads in the second line    if i==1:      a_list.append(line)      break但是我认为这是一种更简单的方法  import os  a_list = []  for dirpath, dirnames, files in os.walk(base_directory):    for file in files:      with open(os.path.join(dirpath, file), 'r') as f:        next(f)                 # skip the first line        a_list.append(next(f))  # store the second line
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python