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使用稀疏矩阵节省内存实例
Jun 27 Python
详解Python编程中基本的数学计算使用
Feb 04 Python
Python使用线程来接收串口数据的示例
Jul 02 Python
pytorch 实现在预训练模型的 input上增减通道
Jan 06 Python
通过python检测字符串的字母
Feb 18 Python
Python图像阈值化处理及算法比对实例解析
Jun 19 Python
基于python实现MQTT发布订阅过程原理解析
Jul 27 Python
Python远程linux执行命令实现
Nov 11 Python
让你相见恨晚的十个Python骚操作
Nov 18 Python
Django显示可视化图表的实践
May 10 Python
总结Pyinstaller打包的高级用法
Jun 28 Python
Python使用pandas导入csv文件内容的示例代码
Dec 24 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
论建造顺序的重要性
2020/03/04 星际争霸
php设计模式 Proxy (代理模式)
2011/06/26 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
php查看当前Session的ID实例
2015/03/16 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
JS中的BOM应用
2018/02/02 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
Python 12306抢火车票脚本 Python京东抢手机脚本
2018/02/06 Python
python自动化生成IOS的图标
2018/11/13 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
LG西班牙网上商店:Tienda LG Online Es
2019/07/30 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
上海奥佳笔试题面试题
2016/11/16 面试题
一年级学生期末评语
2014/04/21 职场文书
员工教育培训协议书
2014/09/27 职场文书
2014年资料员工作总结
2014/11/18 职场文书
2014年车间主任工作总结
2014/12/10 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技