用Python遍历目录
用Python遍历指定目录下的文件,一般有两种常用方法,但它们都是基于Python的os模块。下面两种方法基于Python2.7,主要用到的函数如下:
1.os.listdir(path):列出目录下的所有文件名
2.os.getcwd():获得当前工作目录
3.os.mkdir(dir):创建单个目录
4.os.makedirs('c:\python\a'):创建多级目录
5.os.rmdir(dir):删除单个目录
6.os.removedirs('D:\python'):删除所给路径最后一个目录下所有空目录
7.os.chdir(dir):改变到另一个工作目录上
8.os.path.isfile(path):判断是否是文件
9.os.path.isdir(path):判断是否是目录
10.os.path.join(path,filename):得到文件绝对路径
11.os.chmod(file):修改文件权限与时间戳
12.os.system("dir"):执行操作系统命令
13.os.exec(), os.execvp():启动新进程
14.osspawnv():在后台执行程序
15.os.exit(), os._exit():终止当前进程
16.os.path.split('c:\python\hello.py') --> ('c:\\python', 'hello.py'):分离文件名
17.os.path.splitext('c:\python\hello.py') --> ('c:\\python\\hello', '.py'):分离扩展名
18.os.path.dirname('c:\python\hello.py') --> 'c:\\python':获取路径名
19.os.path.basename('c:\python\hello.py') --> 'hello.py':获取文件名
20.os.path.exists('c:\python\hello.py') --> True:判断文件或目录是否存在
21.os.path.isabs('.\python\') --> False:判断是否是绝对路径
22.os.path.islink('c:\python\hello.py') --> False:判断是否是链接文件
23.os.path.getsize(filename):获取文件大小
24.os.walk():搜索目录下的所有文件
第一种是基于递归函数:
#!/usr/bin/python
# coding:utf-8 import os
def dirList(path):
filelist = os.listdir(path)
for filename in filelist:
filepath = os.path.join(path, filename)
if os.path.isdir(filepath):
print filepath
dirList(filepath)
else:
print filepath dirList('C:\\Users\\Desktop\\Learning python')
第二种是用os模块下的walk()函数:
#!/usr/bin/python
# coding:utf-8 Epath=os.walk('C:\\Users\\Desktop\\Learning python')
for path,dir,filelist in Epath:
for filename in filelist:
print os.path.join(path,filename)
os.walk()函数返回一个元组,该元组有3个元素,这3个元素分别表示每次遍历的路径名,目录列表和文件列表。
注:sublime text编辑器下,代码开头加上#coding:utf-8,可以处理代码中出现的中文字符。以上两种方法在遍历中文名文件或文件名时,sublime中使用Ctrl+B会出现:
[Decode error - output not utf-8]
错误。但在Python shell或cmd中都可以正常显示中文。
用Python遍历目录的更多相关文章
- python遍历目录文件脚本的示例
例子 自己写的一个Python遍历文件脚本,对查到的文件进行特定的处理.没啥技术含量,但是也记录一下吧. 代码如下 复制代码 #!/usr/bin/python# -*- coding: utf-8 ...
- python遍历目录os.walk(''d:\\test2",topdown=False)
os.walk(top, topdown=True, onerror=None, followlinks=False)遍历目录,topdown=false表示先返回目录,后返回文件 参数说明: top ...
- Python遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例
遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例: #-*- encoding: utf-8 -*- __author__ = 'liudong' import linecache,sys ...
- Python 遍历目录
代码: 1.递归使用遍历目录 import os def scanfile(path): filelist = os.listdir(path) allfile = [] for filename i ...
- Python 遍历目录下的子目录和文件
import os A: 遍历目录下的子目录和文件 for root,dirs ,files in os.walk(path) root:要访问的路径名 dirs:遍历目录下的子目录 files:遍历 ...
- Python遍历目录下xlsx文件
对指定目录下的指定类型文件进行遍历,可对文件名关键字进行条件筛选 返回值为文件地址的列表 import os # 定义一个函数,函数名字为get_all_excel,需要传入一个目录 def get_ ...
- python遍历目录下所有文件
# -*- coding:utf-8 -*- import os if __name__ == "__main__": rootdir = '.\data' list = os.l ...
- python遍历目录
os.walk() 用元组表示(dirpath, dirnames, filenames): 第一个是根路径,dirpath为str类型: 第二个是根路径中的文件夹,dirnames为list类型: ...
- python遍历目录的方法 walk listdir
这篇文章里描述了这些情况: https://www.cnblogs.com/jiaxin359/p/7324077.html 不用递归的时候,用 listdir 需要递归的时候,用walk
随机推荐
- Objective-C关键字和概念
Objective-C关键字和概念 @ 看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX. @interface 声明类 @implementati ...
- kickstart+ftp+tftp+dhcp+PXE
##########yum less install.log #看安装log yum install system-config-kickstart* -y yum install tftp* -y ...
- kbengine0.4.20源代码分析(一)
基于kbengine 0.4.2 MMOPG服务端是一种高品质的工程项目,品读开源的kbe是一种乐趣.本文档我带童鞋们一起领略一下.囿于我知识面和经验方面所限,文中所述之处难免有错误存在,还请读童鞋们 ...
- memcache/memcached安装教程并应用Tinkphp3.2
在自己的新程序中打算全面应用memcached技术,这个很容易理解这是memcached是内存缓存,但是怎么还有memcache呢?其实很简单,memcache是php的一个扩展,用于php管理mem ...
- MYSQL 判断一个时间段是否在另一个时间段内。
[1 CREATE TABLE #B 2 ( 3 MeetingRoom int, 4 BeginTime datetime, 5 EndTime datetime6 ) 7 insert into ...
- 简述jsp之EL表达式和jstl及其使用
Jsp的指令之include指令include指令:代表的是页面的包含. 作用:可以把一些jsp的页面包含在一起,对外展示. 页面的布局,现在已经不用了,现在都用css+div进行布局.include ...
- [PHP] - Laravel - 列表、新增、修改、删除例子
前言 Laravel默认是自带了CURD的功能,使用路由的Route::resource可以做到. 但真正的项目中,这往往不是我们所需要的.因为一个项目会有比较复杂的计算.验证等功能. 下面是对项目中 ...
- 认识UML类图元素
在Visio里,包和类的关系是包含关系,将类拖入包的文件夹之后,关系就建立了,二元关联符号可以设置为:聚合.合成.接口:空心圆+直线(唐老鸭类实现了‘讲人话’):依赖:虚线+箭头(动物和空气的关系): ...
- JAVA代码发送邮件示例和解释
下载和上传附件.发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时间去弄,好在昨晚终于走通代码成功以163邮箱发送邮件到qq邮 ...
- NLog学习
一.什么是NLog? NLog((http://www.nlog-project.org)是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码. NLog允许我 ...