Home  >  Article  >  Backend Development  >  Python method to read all directories and files in a directory

Python method to read all directories and files in a directory

WBOY
WBOYOriginal
2016-08-04 08:55:422019browse

The example in this article describes how Python reads all directories and files in a directory. Share it with everyone for your reference, the details are as follows:

Here is an example of reading a directory when I first learned python. I would like to share it with you:

#!/usr/bin/python
# -*- coding:utf8 -*-
import os
allFileNum = 0
def printPath(level, path):
 global allFileNum
 '''
 打印一个目录下的所有文件夹和文件
 '''
 # 所有文件夹,第一个字段是次目录的级别
 dirList = []
 # 所有文件
 fileList = []
 # 返回一个列表,其中包含在目录条目的名称(google翻译)
 files = os.listdir(path)
 # 先添加目录级别
 dirList.append(str(level))
 for f in files:
  if(os.path.isdir(path + '/' + f)):
   # 排除隐藏文件夹。因为隐藏文件夹过多
   if(f[0] == '.'):
    pass
   else:
    # 添加非隐藏文件夹
    dirList.append(f)
  if(os.path.isfile(path + '/' + f)):
   # 添加文件
   fileList.append(f)
 # 当一个标志使用,文件夹列表第一个级别不打印
 i_dl = 0
 for dl in dirList:
  if(i_dl == 0):
   i_dl = i_dl + 1
  else:
   # 打印至控制台,不是第一个的目录
   print '-' * (int(dirList[0])), dl
   # 打印目录下的所有文件夹和文件,目录级别+1
   printPath((int(dirList[0]) + 1), path + '/' + dl)
 for fl in fileList:
  # 打印文件
  print '-' * (int(dirList[0])), fl
  # 随便计算一下有多少个文件
  allFileNum = allFileNum + 1
if __name__ == '__main__':
 printPath(1, '/home/test/')
 print '总文件数 =', allFileNum

Readers who are interested in more Python-related content can check out the special topics on this site: "Summary of Python File and Directory Operation Skills", "Summary of Python Image Operation Skills", "Python Data Structure and Algorithm Tutorial", "Summary of Python Socket Programming Skills" ", "Summary of Python function usage skills", "Python string operation skills summary", "Python coding operation skills summary" and "Python introductory and advanced classic tutorial"

I hope this article will be helpful to everyone in Python programming.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn