python 检索文件资源的方法 =>长期更新
2015-06-06 20:40
627 查看
在进行实际的程序开发的时候往往需要从磁盘的某个地方导入一个或一批文件
1. 最常见的就是在一个已知目录filepath 中导入一个文件名实现约定好的文件filename,
import os os.path.join(filedir,filename)
os.path.join的好处是可以隐藏操作系统层面的目录分隔符(Linux: ‘/’ Windows: ‘\’)使程序具有跨平台的能力
1.1 若目录为当前目录,则可以用
os.getcwd()获得当前工作目录(一个字符串,结尾没有目录分隔符)
1.2 或者目录为当前目录下的某个已知子目录subdir 则可以用
filedir=os.path.join(os.getcwd(),subdir)来获得目录。
2. 在某个已知目录filedir下搜索符合符合特性格式的文件
2.1from glob import glob filename=glob(os.path.join(filedir,'*.jpg'))
比如示例中就是返回一个包含后缀为jpg格式的文件的文件名列表,((如果以后变成返回一个迭代器,我一点都不奇怪),而且理应支持正则表达式)
主要
glob并不会匹配以点号(dot)
'.'开头的文件
2.2
递归式迭代遍历整个目录树的文件
import os for fname in os.walk(dirname): if fname.endswith('.format'): express 1 else : express 2
str.endswith(substr)后缀字符串匹配
str.startwith(substr)前缀字符串匹配
且二者都有start,end的可选项,来确定比较的始终端(同序列索引)
3检索的同时统计文件基本信息
filesize=os.path.getsize(filename)
filesize 是以Byte 为单位
linenum=sum(+1 for line in open(filename,'rb'))
统计文件的行数
4输出文件存放在某个目录dirname下
if not os.path.exists(dirname):os.mkdir(dirname) else: for fname in os.listdir(dirname): os.remove(os.path.join(dirname,fname))
os.path.exists(dirname)目录是否存在
os.listdir(dirname)列出目录下所有的文件和目录名(不含前面的路径)
os.remove(filename)删除文件
os.remove(dirname)删除目录
5异常统计
assert expression当表达式不成立时引起
AssertError
相关文章推荐
- python with语句与上下文管理器
- php调用python
- python 使用scapy进行帧注入
- 设计模式 Template模式
- python 将命令行执行的屏幕输出赋值到out变量
- python字典排序
- python中的浅拷贝和深拷贝
- pythonanywhere下django无法匹配url问题解决
- Python自学笔记系列一——基础语法
- Python中步长索引解析
- Leetcode: Length of Last Word in python
- Python学习日记---函数
- python类型转换
- python 装饰器 decorator
- python 正则字符串替换 re.sub 替换输入参数字符串inStrings 所有的一个或多个空格替换为newstring
- python 多线程
- python学习笔记第二课_Phoenix-晶
- python基础语法
- Python第一章基础知识
- python中simplejson模块