python 基础教程之文件
来源:互联网 发布:杭州做网络推广的公司 编辑:程序博客网 时间:2024/06/05 08:15
python对文件的处理是很强大的
打开文件:
open
f = open(r'C:\test\something.txt') #windows 下
还可以提供模式参数,来说明读和写
f = open(url,model)
值 描述'r' 读模式'w' 写模式(会清空原文件)'a' 追写模式(在原文件后面追写)'b' 二进制模式(可添加到其他模式中)'+' 读/写模式(可添加到其他模式中)
‘b’模式改变处理文件的方法,一般来说,对于文本文件,并不需要,而处理其它类型的文件,如声音或图像,应该在模式参数中添加‘b’
文件读:
read
read方法读取文件,默认是一个个的去读,但也可以带参数,读指定个字符,会改变文件流,已读取的会被删除
readline
readline方法是一行行去读,默认参数读取到换行符为止,使用参数时同read函数。会改变文件流,已读取的会被删除。
reandlines
readlines方法是一行行去读,返回一个列表,每行作为一个元素。会改变文件流,已读取的会被删除。
文件写:
write
调用f.write(string)时,所提供的参数string会被追加到文件已存在部分的后面,没有writeline方法
writelines
对比readlines方法,和它相反。注意不会增加新行,需要自己添加
#-----------------------创建文本f = open('eple.txt','w')f.write('hello world!\n')f.write('By eple')f.close()#-----------------------对比read, readline, reandlines,这几个函数都会改变fdef process(str): print 'Processing: ',strf = open('eple.txt')# str = f.readline()# strs = f.readlines()#-----------------------按字输出char = f.read(1)while char: process(char) char = f.read(1)f.close()''' 效果同上'''for char in f.read(): process(char)f.close()''' 效果同上 '''for char in f.readline(): process(char)f.close()#-----------------------按行输出#-----------------------文件过大时,readlines太占内存,可以用readline用代替char = f.readline()while char: process(char) char = f.readline()f.close()''' 效果同上 '''for char in f.readlines(): process(char)f.close()
文件关闭:
每次处理完文件之后,一定要记住用
close
方法关闭文件
文件迭代:
参考上面的代码。
但是对非常大的文件对象进行操作的时候,readlines会占用太多内存,可以用while循环和readline方法代替。但是我们总是推荐用for循环。所以我们也可以
import fileinputfor line in fileinput.input('eple.txt'): process(line)
最推荐,最最优雅的迭代方法:
for line in f: process(line)f.close()因为文件对象本身就是可迭代的
0 0
- python 基础教程之文件
- python基础教程-文件操作
- Python基础教程之字符串
- python 基础教程之字符串字典
- python 基础教程之迭代
- python基础教程之缩进问题
- 《Python基础教程》 第六章 文件处理笔记
- 【Python基础教程】第11章 文件
- Python 3基础教程13-写入文件
- Python 3基础教程15-读文件内容
- Python 3基础教程24-读取csv文件
- python基础教程[1]:删除文件及文件夹
- python基础教程[2]:复制文件及文件夹
- 《Python基础教程》学习笔记之[D1]基础知识
- 《Python基础教程》学习笔记之[D9]异常
- 《Python基础教程》学习笔记之三:异常
- Python 基础教程之列表元组
- Python基础教程之第1章 基础知识
- 黑马程序员11——单例设计模式 Runtime类 日期 日历 数组高级部分 大数据运算
- 最短路算法
- DP Good Sequences
- 黑马程序员12——集合框架1
- 陈老师的多校联合20140816||SPOJ AMR11B 三角形的有向面积
- python 基础教程之文件
- BBED工具的安装使用(一)
- web前端总结
- hibernate的第一应用程序
- 堆——神奇的优先队列(下)
- 黑马程序员13——集合框架2、泛型
- 全网最全的35个微信小游戏
- 如何加载用户的最新动态?
- NAND FLASH 和 NOR FLASH开机启动