本文实例讲述了python文件操作之目录遍历的方法。分享给大家供大家参考。具体分析如下:

Python的os模块,包含了普遍的操作系统功能,这里主要学习与路径相关的函数:

os.listdir(dirname):列出dirname下的目录和文件

os.getcwd():获得当前工作目录

os.curdir:返回当前目录('.')

os.chdir(dirname):改变工作目录到dirname

os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false

os.path.isfile(name):判断name是不是一个文件,不存在name也返回false

os.path.exists(name):判断是否存在文件或目录name

os.path.getsize(name):获得文件大小,如果name是目录返回0

os.path.abspath(name):获得绝对路径

os.path.normpath(path):规范path字符串形式

os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)

os.path.splitext():分离文件名与扩展名

os.path.join(path,name):连接目录与文件名或目录

os.path.basename(path):返回文件名

os.path.dirname(path):返回文件路径

1、os.path方法

通过传入需要遍历的目录,列出目录下的所有文件并统计文件数,os提供的path模块能对目录非常灵活的操作。

import os,sys

def listdir(dir,file):

file.write(dir + '\n')

fielnum = 0

list = os.listdir(dir) #列出目录下的所有文件和目录

for line in list:

filepath = os.path.join(dir,line)

if os.path.isdir(filepath): #如果filepath是目录,则再列出该目录下的所有文件

myfile.write(' ' + line + '\\'+'\n')

for li in os.listdir(filepath):

myfile.write(' '+li + '\n')

fielnum = fielnum + 1

elif os.path: #如果filepath是文件,直接列出文件名

myfile.write(' '+line + '\n')

fielnum = fielnum + 1

myfile.write('all the file num is '+ str(fielnum))

dir = raw_input('please input the path:')

myfile = open('list.txt','w')

2、os.walk方法

os模块提供的walk方法很强大,能够把给定的目录下的所有目录和文件遍历出来。

方法:os.walk(path),遍历path,返回一个对象,他的每个部分都是一个三元组,('目录x',[目录x下的目录list],目录x下面的文件)

import os

def walk_dir(dir,fileinfo,topdown=True):

for root, dirs, files in os.walk(dir, topdown):

for name in files:

print(os.path.join(name))

fileinfo.write(os.path.join(root,name) + '\n')

for name in dirs:

print(os.path.join(name))

fileinfo.write(' ' + os.path.join(root,name) + '\n')

dir = raw_input('please input the path:')

fileinfo = open('list.txt','w')

walk_dir(dir,fileinfo)

topdown决定遍历的顺序,如果topdown为True,则先列举top下的目录,然后是目录的目录,依次类推,反之,则先递归列举出最深层的子目录,然后是其兄弟目录,然后子目录。

希望本文所述对大家的Python程序设计有所帮助。

python目录遍历_python文件操作之目录遍历实例分析相关推荐

  1. python身份证区域分割_python文件操作实战(将数据按照区域进行划分--身份证号...

    本篇包括14章内容,系统介绍了Python语言的基础知识.内容包括Python基础语法.数据类型和类型转换.运算符.流程控制(分支结构循环结构).数据结构(列表生成式).函数的定义及使用.异常处理.迭 ...

  2. python处理二进制文件_python文件操作之二进制

    列表项 三元运算符号: a=3 b=7 val=a if a>b else val=b print(val) 文件处理 首先给你一个文件,或者自己建立一个文件,那如何查看文件的内容呢? 1.安装 ...

  3. python xlsxwriter 画图_Python XlsxWriter模块Chart类用法实例分析

    本文实例讲述了Python XlsxWriter模块Chart类用法.共享给大家供大家参考,详细如下: 一 点睛 Chart类是XlsxWriter模块中图表组件的基类,支持的图表类型包括面积.条形图 ...

  4. python 线性回归函数_Python实现的简单线性回归算法实例分析

    本文实例讲述了Python实现的简单线性回归算法.分享给大家供大家参考,具体如下: 用python实现R的线性模型(lm)中一元线性回归的简单方法,使用R的women示例数据,R的运行结果: > ...

  5. nodejs01——安装及使用、服务端及客户端、commonjs规范、fs模块的使用(文件操作及目录操作)、stream、buffer、WebServer、端口、动态资源及静态资源、头信息、请求方式

    nodejs的安装及使用 服务端及客户端 commonjs规范 fs模块的使用(文件操作及目录操作) stream buffer // Node.js介绍 Node.js 诞生于2009年,Node. ...

  6. SpringBoot打开resources目录下的文件操作

    SpringBoot打开resources目录下的文件操作 背景 我想在SpringBoot项目中放入一个静态文件.json文件.然后在SpringBoot项目内可以打开并读取此json文件. [外链 ...

  7. PowerShell~文件操作和对象遍历

    ps提供了丰富的文件操作,如建立,删除,改名,移动,复制,文件夹建立,显示文件列表,同时对数组对象的遍历也很方便,如果在使用PS脚本时,希望现时传入参数,可以把参数声明为param,当然需要把它写在文 ...

  8. python从入门到大神---4、python3文件操作最最最最简单实例

    python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...

  9. Python中的File(文件)操作

    Python中的File(文件)操作 针对磁盘中的文件的读写.文件I/O I 输入(input) O输出(Output) 文件操作步骤:1.打开文件 2.读写文件 3.关闭文件 写入文件的操作:(把大 ...

最新文章

  1. platform平台工作原理
  2. 虚拟摄像头 安卓版_林俊杰 ft. M.E.,联同视效大厂数字王国加码虚拟偶像
  3. Java Date Time 教程-java.sql.Timestamp
  4. Docker Review - Docker 部署 Spring Boot 项目
  5. 今日arXiv精选 | 近期必读的5篇Transformers相关论文
  6. OpenGL stencil test模板测试的实例
  7. 2017-2018 20155309南皓芯 信息安全系统基础设计第十四周博客
  8. MMDetection-数据准备
  9. HTML 文档的字符编码未声明。如果该文件包含 US-ASCII 范围之外的字符,该文件将在某些浏览浏览器配置中呈现为乱码。页面的字符编码必须在文档或传输协议层声明。
  10. Vue.js最佳实践
  11. webpack常用loader和plugin及打包速度优化
  12. excel打开空白不显示内容 没有隐藏_办公软件操作技巧097:如何隐藏excel表格中没有数据的空白区域...
  13. 马斯克召集百名员工测试完全自动驾驶,1.3万美元大优惠!先到先得
  14. 获得邮件列表失败_邮件经常失败回弹很糟心?一定要知道这几个小知识
  15. 基于HTTP协议的轻量级开源简单消息队列服务:HTTPSQS
  16. setlocale()函数详解——C语言
  17. pyodbc mysql_pyodbc and mySQL
  18. 有没有无痛无害的人体成像方法?OCT(光学相干断层扫描)了解一下
  19. mybatis 通配符
  20. 如何在笔记本电脑上搭建双系统(windows与linux)

热门文章

  1. 基于h5的跳一跳游戏的开发与实现_「南宁小程序开发」企业开发小程序有哪些好处?...
  2. 码农和程序员等的差别
  3. 动画,视频处理的计算机系统,音视频与动画处理.ppt
  4. JAVA蘑菇西餐,蘑菇的22种西餐做法,简单易上手,让你品尝不一样的风味
  5. 计算机感染病毒后 一定不能清除的措施是,计算机感染病毒后,一定不能清除的措施是()。...
  6. Java 启动和停止界面_IntelliJ IDEA 2019.3 发布,启动更快,性能更好(新特性解读)...
  7. highcharts一天时间 与一周时间_一天当中什么时间减肥降重最好的
  8. 【若依(ruoyi)】jQuery.validator
  9. 【thymeleaf】 Link (URL) expressions: 使用 Link 表达式创建 URL
  10. html判断变量,javascript如何判断变量是否为对象?