python教程文件_python 基础教程之文件

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,这几个函数都会改变f

def process(str):

print 'Processing: ',str

f = 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 fileinput

for line in fileinput.input('eple.txt'):

process(line)

最推荐,最最优雅的迭代方法:

for line in f:

process(line)

f.close()因为文件对象本身就是可迭代的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值