用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
随机推荐
- android dialog 有关token的问题
android中的dialog显示一般是显示在宿主context里面,但context有几种模式,我今天遇到问题就是在BroadcastReceiver广播里面构造对话框后显示出现的问题:androi ...
- Windows下利用虚拟机运行FSL 安装和配置
FSL是牛津大学FMRIB开发的用于分析功能磁共振影像的科研软件包. 运行要求:windows7或vista操作系统,10G硬盘空间,4G内存. 从FSL官网上下载Centos6的虚拟盘(FSLVm6 ...
- Python爬虫库Scrapy入门1--爬取当当网商品数据
1.关于scrapy库的介绍,可以查看其官方文档:http://scrapy-chs.readthedocs.io/zh_CN/latest/ 2.安装:pip install scrapy 注意这 ...
- photoshop,黑白转彩色单色
方法一: 打开 色相/饱和度 面板,勾选上 着色, 然后调节 明度 滑块. 方法二: 前面方法的缺点是会将修改直接塌陷到图层,如果想不塌陷,可以使用色相蒙板: 同样勾选 着色
- case使用例子
echo 'Input a number between 1 to 4' echo 'Your number is:\c' read aNum case $aNum in 1) echo 'You s ...
- Zookeeper基本配置
前面两篇文章介绍了Zookeeper是什么和可以干什么,那么接下来我们就实际的接触一下Zookeeper这个东西,看看具体如何使用,有个大体的感受,后面再描述某些地方的时候也能在大脑中有具体的印象.本 ...
- IOS开发之网络编程开源类 Reachability应用
先看Reachability.h发现 #import <Foundation/Foundation.h> #import <SystemConfiguration/SystemCon ...
- css之position相对定位和绝对定位
一.position的四个值:static.relative.absolute.fixed. 绝对定位:absolute和fixed统称为绝对定位 相对定位:relative 默认值:static 二 ...
- mysql 5.7.11 yum 安装步骤
直接上步骤 首先你得有一台能够上外网的linux服务器 1:rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch ...
- 一个奇葩的SQL
需求 建表脚本 CREATE TABLE [dbo].[A]( ) NOT NULL, ) NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[B]( ) NOT N ...