Python学习笔记六--文件和输入输出
6.1文件对象
所有Python对文件的操作都是基于对文件对象的操作。那么就从文件对象的创建说起。open()[file()]提供初始化输入输出的接口。open()成功打开文件时会返回一个文件对象。
open()方法的语法:
file_object=open(filename,access_mode,buffering)
filename,表示要打开的文件名的字符串,可以是相对路径也可以是绝对路径。
access_mode,表示打开方式。常见有'r'、'w'、'a',分别表示读模式,写模式,追加模式。带+表示可读可写,带b表示以二进制方式操作。
buffering表示缓冲方式,0表示不缓冲,1表示缓冲1行,大于1的值作为缓冲区的大小。
6.2文件内建方法
6.2.1输入
read()方法用来读取字节到字符串中。最多读取给定个字节,默认情况没有size参数,文件将读取到文件末尾。
readline()方法读取打开文件的一行。然后整行包括行结束符,作为字符串返回。
readlines()方法读取所有的行,然后作为字符串列表返回。
6.2.2输出
write(),与read(),readline()相反它将文本数据或二进制数据块写入文件。
writelines(),接受一个字符串列表作为参数,将他们写入文件。
6.2.3文件内移动
seek()方法,可以在文件内移动文件指针到不同位置,默认值0表示文件起始,1表示从当前位置算起,2表示文件末尾算起。
text(),他可以告诉你当前文件指针在文件的位置,从文件头算起以字节为单位。
6.3文件迭代
如果想迭代文件我们首先想到的是将文件读取到列表或者其他序列中再进行迭代。
f=open('demo.txt','r')
stringList=f.readlines()
for eachstring in stringList:
...
但事实上文件对象也是可迭代的,于是就有了:
f=open('demo.txt','r')
for eachline in f:
...
6.4
close()通过关闭文件结束对它的访问。 编程中不在引用某文件时需要关闭,别问为什么。
fileno()方法返回打开的文件描述符。常用于底层操作。
6.5文件系统
对文件的访问大多通过OS模块实现。经常用到的对文件的操作有删除\重命名文件,遍历目录树,管理文件访问权限。另一个模块os.path模块可以完成一些针对目录名的操作。下面是一些常用的函数。
6.5.1 文件操作类
mkfifo(),创建命名管道。
remove(),删除文件。
rename(),重命名文件。
utime(),更新时间戳。
walk(),生成一个目录树下所有的文件名。
2、目录/文件夹
chdir(),改变当前工作目录。
chroot(),改变的当前进程的目录。
listdir(),列出制定目录的文件。
mkdir()/makedirs(),创建目录/创建多层目录。
rmdir()/removedirs(),删除目录/删除多层目录。
3、访问/权限
access(),检验权限模式。
chmod(),改变权限模式。
umask(),设置默认权限模式。
6.5.2 os.path中的路径操作函数
1、分隔
basename(),去掉路径名返回文件名。
dirname(),去掉文件名返回路径名。
split(),返回(dirname(),basename())元组。
2、信息
getatime(),返回最近访问时间。
getctime(),返回文件创建时间。
getmtime(),返回文件修改时间。
getsize(),返回文件大小。
3、查询
exists(),指定路径是否存在。
6.6相关模块
base64,提供二进制字符串和文本字符串的编码解码操作。
bianascii,提供二进制和ASCII字符串的编码解码操作。
bz2,访问bz2格式的压缩文件。
fileinput,提供多个文本文件的行迭代器。
shutil,提供高级文件访问功能。
tarfile,读写tar归档文件,支持压缩文件。
zipfile,读写zip归档文件的工具。
Python学习笔记六--文件和输入输出的更多相关文章
- python学习笔记(六)---文件操作与异常处理机制
文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...
- Python学习笔记六
Python课堂笔记六 常用模块已经可以在单位实际项目中使用,可以实现运维自动化.无需手工备份文件,数据库,拷贝,压缩. 常用模块 time模块 time.time time.localtime ti ...
- Python学习笔记之文件处理
1.打开和关闭 要打开文件可以使用函数 open(),它位于自动导入模块 io 中.函数将文件名作为唯一不可缺少的函数,并返回一个文件对象.它还有一个名叫 mode 的参数,用于指定文件模式,其可取值 ...
- [Python学习笔记]组织文件
shutil 模块 shutil 模块可以让我们很方便的在Python程序中复制.移动.改名和删除文件. 复制文件和文件夹 使用shutil.copy()来复制文件,该函数含两个参数,均为字符串格式的 ...
- python学习笔记(11):文件的访问与函数式编程
一.文本文件读写的三种方法 1.直接读入 file1 = open('E:/hello/hello.txt') file2 = open('output.txt','w') #w是可写的文件 whil ...
- Python学习笔记015——文件file的常规操作之一(文本文件)
1 什么是文件 文件是用于数据存储的单位 文件通常用来长期保存数据 读写文件是最常见的I/O操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件的功能都是由操作系统提供的,一般而言,操 ...
- python学习笔记(7)文件的访问与函数式编程
一.文件读写的3中方法 1.直接读入 fiel1=open('test.txt') file2=open('output.txt') while True: line=file1.readLine() ...
- Python学习笔记015——文件file的常规操作之三(标准输入输出文件)
1 标准输入输出文件 在Python中,模块sys中含有标准的输入输出文件 sys.stdin 标准输入方法(一般是键盘) sys.stdout 标准输出方法(到显示器的缓冲输出) sys ...
- Python学习笔记六:文件处理
一:打开文件 open(name,mode,[bufferSize]) name:文件路径 mode:文件打开方式 二:文件读取 read()方法:可以一次读取文件的全部内容,Python把内容读到内 ...
随机推荐
- UNIX环境下的消息队列
消息队列和共享内存一样,也是一种IPC对象.消息队列其实就是消息的链表,每一则消息都是用户自己的结构体.服务端这边创建消息队列,客户端这边打开消息队列,两个进程就可以进行通信.创建和打开消息队列使用函 ...
- QQ互联 回调地址
http://wiki.connect.qq.com/%E5%9B%9E%E8%B0%83%E5%9C%B0%E5%9D%80%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98% ...
- JAVA工程师面试总结
HR面: 你为什么要离职?如果是公司层面的,公司为什么要这么做? 你的理想薪资?你觉得你有什么优势胜任你应聘的工作? 你的未来发展规划? BOSS面: 项目的东西,hibernate调优?使用了什么数 ...
- GimageX
{LJ?Dragon}[标题]GimageX 中文版备份恢复工具 如今由微软发布的免费系统部署软件 imageX 则更受到高手们的喜爱,被誉为系统备份/还原的必备新神器.imageX 不仅可用来封装制 ...
- OneToMany与ManyToOne的属性
供自己查阅,嫌低级的勿喷! 1.OneToMany的属性 ①targetEntity 定义关系类的类型,默认是该成员属性对应的类类型,所以通常不需要提供定义. ②mappedBy 定义类之间的双向关系 ...
- Dota兄订餐——静态代理(java)
理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣. 代理模式是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Pr ...
- PHP学习路径
php学习大致可分为三个阶段: 第一阶段:基础知识,页面布局. 学习内容:html.div+css.js. 学习目标:div+css设计. 阶段二:php核心知识和数据库交互. 学习内容:php核心知 ...
- C\C++代码优化的27个建议
1. 记住阿姆达尔定律: funccost是函数func运行时间百分比,funcspeedup是你优化函数的运行的系数. 所以,如果你优化了函数TriangleIntersect执行40%的运行时间, ...
- cocos2d-x项目过程记录(Objective-C转C++)
(原创作品,欢迎转载,注明出处,谢谢:http://www.cnblogs.com/binxindoudou/admin/EditPosts.aspx?postid=3179335) 1.单例模式中, ...
- CoreText实现图文混排之点击事件
今天呢,我们继续把CoreText图文混排的点击事件补充上,这样我们的图文混排也算是圆满了. 哦,上一篇的链接在这里 http://www.jianshu.com/p/6db3289fb05d Cor ...