Python — 文件夹操作

Python 文件夹/文件操作

1、os.listdir() — 返回当前文件夹下的所有目录名称(列表)

2、os.walk() — 遍历目录树,输出目录中的文件名,返回一个三元组(root,dirs,files)

  • root 所指的是当前正在遍历的这个文件夹的本身的地址
  • dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
  • files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

      '''
      def copy_file(old_file, new_file):
          new_file_temp = new_file
          for root, dirs, files in os.walk(old_file, topdown=False):
              for name in files:
                  sub_path = root.split('\\')[-1]
                  sub_sub_path = root.split('\\')[-2]
                  if sub_path == 'R0':
                      sub_path_new = '5'
                  elif sub_path == 'R1':
                      sub_path_new = '6'
                  elif sub_path == 'R2':
                      sub_path_new = '7'
    
                  verify_or_enroll = ''
                  if(int(name.split('.')[0]) < 1):
                      verify_or_enroll = 'enroll'
                  elif(int(name.split('.')[0]) >= 1 ):
                      verify_or_enroll = 'verify'
    
                  new_file_path = os.path.join(new_file_temp, sub_sub_path, sub_path_new, verify_or_enroll, 'st')
                  if not os.path.exists(new_file_path):
                      os.makedirs(new_file_path)
                  new_file_name = os.path.join(new_file_path, name)
                  old_file_name = os.path.join(root, name)
                  shutil.copyfile(old_file_name, new_file_name)
                  print(old_file_name, 'to', new_file_name)
      '''
    

    summary:

    • walk中的topdown参数为False时,遍历方式是从子文件开始,此时获得的root即为子文件所在的目录,files即为同一子文件夹下文件名构成的列表
    • 当子文件遍历完成之后,向上遍历,此时files为空,遍历结束

猜你喜欢

转载自www.cnblogs.com/first-try/p/11300740.html