python 遍历文件内容_python遍历文件

本文介绍了如何使用Python的os模块遍历文件和目录。首先展示了os.listdir()方法获取指定路径下按字母排序的文件和目录名列表。接着,通过os.walk()方法详细说明了如何区分并获取目录和文件,该方法返回一个迭代器,包含当前路径、目录列表和文件列表。
摘要由CSDN通过智能技术生成

一:只获取指定文件下的内容

利用os下的listdir,可以获取到指定路径下的各种文件名,返回结果是一个列表,但这个列表的顺序是按照文件字母的顺序从a-z排序的,如遍历E:\java这样一个文件,内容如下:

看一下代码:

importos

path= "E:\Java"result=os.listdir(path)print(result)

输出内容如下:

['bin', 'COPYRIGHT', 'db', 'include', 'jdk1.8.0_191', 'jre', 'lib', 'LICENSE', 'README.txt', 'release', 'THIRDPARTYLICENSEREADME-JAVAFX.txt', 'THIRDPARTYLICENSEREADME.txt', 'Welcome.html']

可以看到是一个已经经过排序的列表。

二:分别获取到目录和文件

利用os.listdir可以很方便的获取到指定目录下的各种文件名,但却不知道那些是目录,那些是文件,os.walk可以解决这个问题,菜鸟教程上说os.walk返回的是一个三元组(root,dirs,files),

root 所指的是当前正在遍历的这个文件夹的本身的地址

dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)

files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

而我的返回的是一个迭代器,不知道为啥会不一样,希望大佬看到后可以指点。。

通过代码看一下:

import os

path = "E:\Java"

result = os.walk(path)

for a, b, c in result:

print("当前路径是:",a)

print("当前路径下的目录有:",b)

print("当前路径下的文件有:",c)

break

输出结果如下:

当前路径是: E:\Java

当前路径写的目录有: ['bin', 'db', 'include', 'jdk1.8.0_191', 'jre', 'lib']

当前路径的文件有: ['COPYRIGHT', 'LICENSE', 'README.txt', 'release', 'THIRDPARTYLICENSEREADME-JAVAFX.txt', 'THIRDPARTYLICENSEREADME.txt', 'Welcome.html']

这样就把当前路径下的目录和文件区分开了。

***************不积跬步无以至千里***************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值