Python常见文件操作的函数示例代码


Posted in Python onNovember 15, 2011
# -*-coding:utf8 -*- 
''' 
Python常见文件操作示例 
os.path 模块中的路径名访问函数 
分隔 
basename() 去掉目录路径, 返回文件名 
dirname() 去掉文件名, 返回目录路径 
join() 将分离的各部分组合成一个路径名 
split() 返回 (dirname(), basename()) 元组 
splitdrive() 返回 (drivename, pathname) 元组 
splitext() 返回 (filename, extension) 元组 
信息 
getatime() 返回最近访问时间 
getctime() 返回文件创建时间 
getmtime() 返回最近文件修改时间 
getsize() 返回文件大小(以字节为单位) 
查询 
exists() 指定路径(文件或目录)是否存在 
isabs() 指定路径是否为绝对路径 
isdir() 指定路径是否存在且为一个目录 
isfile() 指定路径是否存在且为一个文件 
islink() 指定路径是否存在且为一个符号链接 
ismount() 指定路径是否存在且为一个挂载点 
samefile() 两个路径名是否指向同个文件 
os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false 
os.path.isfile(name):判断name是不是一个文件,不存在name也返回false 
os.path.exists(name):判断是否存在文件或目录name 
os.path.getsize(name):获得文件大小,如果name是目录返回0L 
os.path.abspath(name):获得绝对路径 
os.path.normpath(path):规范path字符串形式 
os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在) 
os.path.splitext():分离文件名与扩展名 
os.path.join(path,name):连接目录与文件名或目录 
os.path.basename(path):返回文件名 
os.path.dirname(path):返回文件路径 os模块中的文件操作: 
os 模块属性 
linesep 用于在文件中分隔行的字符串 
sep 用来分隔文件路径名的字符串 
pathsep 用于分隔文件路径的字符串 
curdir 当前工作目录的字符串名称 
pardir (当前工作目录的)父目录字符串名称 
1.重命名:os.rename(old, new) 
2.删除:os.remove(file) 
3.列出目录下的文件:os.listdir(path) 
4.获取当前工作目录:os.getcwd() 
5.改变工作目录:os.chdir(newdir) 
6.创建多级目录:os.makedirs(r"c:\python\test") 
7.创建单个目录:os.mkdir("test") 
8.删除多个目录:os.removedirs(r"c:\python") #删除所给路径最后一个目录下所有空目录。 
9.删除单个目录:os.rmdir("test") 
10.获取文件属性:os.stat(file) 
11.修改文件权限与时间戳:os.chmod(file) 
12.执行操作系统命令:os.system("dir") 
13.启动新进程:os.exec(), os.execvp() 
14.在后台执行程序:osspawnv() 
15.终止当前进程:os.exit(), os._exit() 
16.分离文件名:os.path.split(r"c:\python\hello.py") --> ("c:\\python", "hello.py") 
17.分离扩展名:os.path.splitext(r"c:\python\hello.py") --> ("c:\\python\\hello", ".py") 
18.获取路径名:os.path.dirname(r"c:\python\hello.py") --> "c:\\python" 
19.获取文件名:os.path.basename(r"r:\python\hello.py") --> "hello.py" 
20.判断文件是否存在:os.path.exists(r"c:\python\hello.py") --> True 
21.判断是否是绝对路径:os.path.isabs(r".\python\") --> False 
22.判断是否是目录:os.path.isdir(r"c:\python") --> True 
23.判断是否是文件:os.path.isfile(r"c:\python\hello.py") --> True 
24.判断是否是链接文件:os.path.islink(r"c:\python\hello.py") --> False 
25.获取文件大小:os.path.getsize(filename) 
26.*******:os.ismount("c:\\") --> True 
27.搜索目录下的所有文件:os.path.walk() 
shutil模块对文件的操作: 
1.复制单个文件:shultil.copy(oldfile, newfle) 
2.复制整个目录树:shultil.copytree(r".\setup", r".\backup") 
3.删除整个目录树:shultil.rmtree(r".\backup") 
临时文件的操作: 
1.创建一个唯一的临时文件:tempfile.mktemp() --> filename 
2.打开临时文件:tempfile.TemporaryFile() 
内存文件(StringIO和cStringIO)操作 
[4.StringIO] #cStringIO是StringIO模块的快速实现模块 
1.创建内存文件并写入初始数据:f = StringIO.StringIO("Hello world!") 
2.读入内存文件数据:print f.read() #或print f.getvalue() --> Hello world! 
3.想内存文件写入数据:f.write("Good day!") 
4.关闭内存文件:f.close() 
''' 
import os 
import os.path 
import unittest 
import time 
#import pygame 
class PyFileCommonOperatorTest(unittest.TestCase): 
def __init__(self): 
"""constructor""" 
def test01(self): 
print os.linesep 
print os.sep 
print os.pathsep 
print os.curdir 
print os.pardir 
print os.getcwd() 
print 'unittest here' 
if __name__ == "__main__": 
t = PyFileCommonOperatorTest() 
t.test01()

#读文件的写法: 
#读文本文件: 
input = open('data', 'r')#第二个参数是默认的,可以不加 
#读二进制文件: 
input = open('data', 'rb') 
#读取所有文件内容: 
open('xxoo.txt').read() 
#读取固定字节 
open('abinfile', 'rb').read(100) 
#读每行 
file_object.readlines()
Python 相关文章推荐
python执行使用shell命令方法分享
Nov 08 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
Jul 12 Python
python 解压pkl文件的方法
Oct 25 Python
Python简单获取二维数组行列数的方法示例
Dec 21 Python
flask session组件的使用示例
Dec 25 Python
Python使用paramiko操作linux的方法讲解
Feb 25 Python
Django中间件基础用法详解
Jul 18 Python
python nmap实现端口扫描器教程
May 28 Python
Python3.7安装keras和TensorFlow的教程图解
Jun 18 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
Python接口测试环境搭建过程详解
Jun 29 Python
Pandas对每个分组应用apply函数的实现
Dec 13 Python
python 控制语句
Nov 03 #Python
python 不关闭控制台的实现方法
Oct 23 #Python
python中将阿拉伯数字转换成中文的实现代码
May 19 #Python
python访问纯真IP数据库的代码
May 19 #Python
Python模块学习 re 正则表达式
May 19 #Python
PYTHON正则表达式 re模块使用说明
May 19 #Python
python 随机数生成的代码的详细分析
May 15 #Python
You might like
PHP中的正规表达式(二)
2006/10/09 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
php cookie 详解使用实例
2016/11/03 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
JavaScript实现自己的DOM选择器原理及代码
2013/03/04 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
浅谈document.write()输出样式
2015/05/07 Javascript
JS实现可调整倒计时间代码分享
2015/08/18 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
结合mint-ui移动端下拉加载实践方法总结
2017/11/08 Javascript
Bootstrap4如何定制自己的颜色和风格
2018/02/26 Javascript
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
2019/03/19 Javascript
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
Python虚拟环境的创建和使用详解
2020/09/07 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
HTML5 canvas基本绘图之绘制线段
2016/06/27 HTML / CSS
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
篮球比赛拉拉队口号
2014/06/10 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android