python进阶读取文件_Python进阶01 文件处理

Python中file()与open()区别两者都能够打开文件,对文件进行操作,也具有相似的用法和参数,但是,这两种文件打开方式有本质的区别,file为文件类,用file()来打开文件,相当于这是在构造文件类,而用open()打开文件,是用python的内建函数来操作,建议使用open

操作基本一样,此处以file来演示

r   读

w     写

a    追加

r+    读写

w+    写读 (会先丢失文件)

rb     处理win文件(传网络文件)

f = file('test.txt','w')

f.write('The is a day1\n')

f.write('The is a day2\n')

f.write('The is a day3\n')

f.close()   \\ 退出保存

重新打开文件会丢失内容

f = file('test.txt','w')

f.write('The is a day1 \n')

f.write('The is a day2 \n')

f.write('The is a day3 \n')

f.flush()                            #刷新到内存

f = file('test.txt','r')            #不加r,默认会是r

f.read()                     #读文件

f.readline()                   #一行一行的读

f.readlines()                   #读剩下所有行,以列表形式显示

f.tell()                     #查看到多少个字节

f.seek(0)                    #指定到第0个字节

追加

f = file('test.txt','a')

f.write('This a new line....')

f.flush()

f.readline()

'The is a day1\n'

>>> f.readline()

'The is a day2\n'

>>> f.readline()

'The is a day3\n'

取第一行

contents = f.read()

contents.split('\n')[0]             #取第一行

contents2 = f.readlines()

contents2[0]

readlines                    #全部读到内存

是把文件的全部内容读到内存,并解析成一个list,当文件的体积很大的时候,需要占用很多内存,使用该方法是一种不明智的做法。

xreadlines                    #节约内存

一种迭代占用更小的内存,而且更加智能(依赖于Python文件对象的实现),所需文件内容是自动从buffer中按照需要读取的,是值得鼓励的做法。

文件内容替换

import fileinput,tab

for line in fileinput.input('FilePath',inplace=1):

line =line.replace('old_txt','new_txt')

print line,

改之前做备份

for line in fileinput.input('filename.txt',inplace=1,backup='.bak'):

line =line.replace('break','continue')

print line,

好处:不需要关闭,自动关闭

with open('test.txt','r') as f:

for i in f.readlines():

print i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值