Python 文件操作技巧(File operation) 实例代码分析


Posted in Python onAugust 11, 2008

常用的module是 os ,os.path 和shutil,所以要先引入他们.

python遍历文件夹和文件
这个也许是最常用的功能,如下:

import os  
import os.path  rootdir = "D:\\programmer\\training"  
for parent, dirnames, filenames in os.walk(rootdir):  
    #case 1:  
    for dirname in dirnames:  
        print "parent is:" + parent  
        print "dirname is:" + dirname  
    #case 2  
    for filename in filenames:  
        print "parent is:" + parent  
        print "filename with full path :" + os.path.join(parent, filename) 

解释说明:

1.os.walk返回一个三元组.其中dirnames是所有文件夹名字(不包含路径),filenames是所有文件的名字(不包含路径).parent表示父目录.
2.case1 演示了如何遍历所有目录.
3.case2 演示了如何遍历所有文件.
4.os.path.join(dirname,filename) : 将形如"/a/b/c"和"d.java"变成/a/b/c/d.java".

perl分割路径和文件名
常用函数有三种:分隔路径,找出文件名.找出盘符(windows系统),找出文件的扩展名.

import os.path  spath="D:/download/flight/flighthtml.txt"  
# case 1:  
p,f=os.path.split(spath);  
print "dir is:"+p  
print "file is:"+f  
# case 2:  
drv,left=os.path.splitdrive(spath);  
print "driver is:"+drv  
print "left is:"+left  
# case 3:  
f,ext=os.path.splitext(spath);  
print "f is:"+f  
print "ext is:"+ext 

这三个函数都返回二元组.
1.case1 分隔目录和文件名
2.case2 分隔盘符和文件名
3.case3 分隔文件和扩展名
Python 相关文章推荐
用Python设计一个经典小游戏
May 15 Python
100行Python代码实现自动抢火车票(附源码)
Jan 11 Python
Window 64位下python3.6.2环境搭建图文教程
Sep 19 Python
对Python subprocess.Popen子进程管道阻塞详解
Oct 29 Python
python 使用re.search()筛选后 选取部分结果的方法
Nov 28 Python
基于Python在MacOS上安装robotframework-ride
Dec 28 Python
Python3中_(下划线)和__(双下划线)的用途和区别
Apr 26 Python
Django如何防止定时任务并发浅析
May 14 Python
python命令行工具Click快速掌握
Jul 04 Python
win10下python3.8的PIL库安装过程
Jun 08 Python
详解numpy1.19.4与python3.9版本冲突解决
Dec 15 Python
python利用while求100内的整数和方式
Nov 07 Python
python下如何让web元素的生成更简单的分析
Jul 17 #Python
py中的目录与文件判别代码
Jul 16 #Python
Python Mysql自动备份脚本
Jul 14 #Python
python远程登录代码
Apr 29 #Python
复制粘贴功能的Python程序
Apr 04 #Python
推荐下python/ironpython:从入门到精通
Oct 02 #Python
在漏洞利用Python代码真的很爽
Aug 26 #Python
You might like
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
php stream_get_meta_data返回值
2013/09/29 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
PHP微信发送推送消息乱码的解决方法
2019/02/28 PHP
DOM精简教程
2006/10/03 Javascript
javascript学习网址备忘
2007/05/29 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
python下如何让web元素的生成更简单的分析
2008/07/17 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
pygame游戏之旅 添加游戏暂停功能
2018/11/21 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
使用python实现简单五子棋游戏
2019/06/18 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
python 列表、字典和集合的添加和删除操作
2019/12/16 Python
Win 10下Anaconda虚拟环境的教程
2020/05/18 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
哈弗商学院毕业生求职信
2014/02/26 职场文书
给全校老师的建议书
2014/03/13 职场文书
基层党员公开承诺书
2014/05/29 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书