Python读取一个目录下所有目录和文件的方法
作者:两袖灰尘 发布时间:2023-05-30 23:04:21
标签:Python,目录,文件
本文实例讲述了Python读取一个目录下所有目录和文件的方法。分享给大家供大家参考,具体如下:
这里介绍的是刚学python时的一个读取目录的列子,给大家分享下:
#!/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
希望本文所述对大家Python程序设计有所帮助。


猜你喜欢
- 业务背景: 基本业务场景是这样的,请求数据(车辆vin信息)进入到接口中,需要先判断其在数据库中的状态,如果库中不存在该vin,或者该vin
- 本文主要介绍如何用Python设计一个经典小游戏:猜大小。在这个游戏中,将用到前面我介绍过的所有内容:变量的使用、参数传递、函数设计、条件控
- 由于在模型训练的过程中存在大量的随机操作,使得对于同一份代码,重复运行后得到的结果不一致。因此,为了得到可重复的实验结果,我们需要对随机数生
- 前言成语填空想必大家都是十分熟悉的了,特别是有在上小学的家长肯定都有十分深刻的印象。在我们的认知里看图猜成语不就是一些小儿科的东西吗?当然了
- EM算法实例通过实例可以快速了解EM算法的基本思想,具体推导请点文末链接。图a是让我们预热的,图b是EM算法的实例。这是一个抛硬币的例子,H
- get如果请求url没有变化,取出缓存,提高效率;请求会缓存到浏览器中,可以通过历史记录查看用户信息,安全性低;post传送变化的数据显示,
- kali添加开机自启采用systemd的方法,kali默认是没有rc.local的,需要自己创建。本方法也适用于ubuntu 18.04 6
- 这里提供三种方法:1,使用正则表达式Function regKillHTML(str) &nb
- 一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。1.得到当前工作目录,即当前Python脚本工作的目录路
- 一、读写excel数据利用pandas可以很方便的读写excel数据1.1 读:data_in = pd.read_excel('M
- 如下所示:try:a=1except Exception as e: print (e)import tracebackimport sys
- 首先,我们会document里添加mouseover事件时在HTMLElement上飘一个absolute的容器,设置border。接着,m
- 1、ThreadPoolExecutor多线程<1>为什么需要线程池呢?对于io密集型,提高执行的效率。线程的创建是需要消耗系统
- 这里介绍的是直接在package.json中直接配置使用:1.基础配置"build": { // 这里是el
- 我就废话不多说了,大家还是直接看代码吧!a1 = raw_input("please input a number")a
- MySQL根据配置文件会限制Server接受的数据包大小。有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入
- 目录1、创建相关新应用2、获取Access Token3、分析评论并进行观点抽取4、运行结果利用百度API自然语言处理技术中的评论观点抽取方
- 你的SQL Server最近是否运行不正常?不,我指的不是我们肯定会遇到的通常的数据库和操作系统问题。我的意思是,你是否经历过服务器的反应迟
- 一、程序功能:为Repeater实现分页二、窗体设计:1、新建ASP.NET Web应用程序,命名为Repeater2,保存路径为http:
- 分享一个 * 真网页拾色器(调色板),颜色丰富216色,使用方便。运行截图:<html id="container"