Python(文件操作)

在实际开发中,常常需要对程序中的数据进行持久化操作,而实现数据持久化最直接简单的方式就是将数据保存到文件中

一.读文件操作

在Python中实现文件的读写操作其实非常简单,通过Python内置的open函数,我们可以指定文件名、操作模式、编码信息等来获得操作文件的对象,接下来就可以对文件进行读写操作了。这里所说的操作模式是指要打开什么样的文件(字符文件还是二进制文件)以及做什么样的操作(读、写还是追加)

1.读出文件所有内容

with open("www",encoding=("utf-8")) as file_object:    #www为一个文本文件
	contents =file_object.read()    
	print(contents)  #读出文件内容

2.读文件前五行内容

f = open("shige","r",encoding="utf-8")   #shige为文件
for i in range(5):    
	print(f.readline()) 
f.close()

3.第十行不打印

f = open("shige","r",encoding="utf-8") 
for index,line in enumerate(f.readlines()):    
	if index == 9:        
		print("----------------分割线——————————————")        
		continue   
	print(line.strip())

4.逐行读取文件

with open("..\DIR_file\pi_digits",encoding=("utf-8")) as file_object:    
	for line in file_object:        
		print(line.rstrip())

二.写入文件

1.覆盖写入文件

f = open("shige1",'w',encoding="utf-8")  #文件句柄,(文件的内存对象);模式为新建一个文 件。 
f.write("戈尔泰,大哥\n") 
f.write("我爱北京天安门\n") 
f.write("天安门上太阳升\n")

f.close()

以上代码在写入时,如果原文件内容不为空则删除源文件内容后在写入新内容

2.追加写入文件

f = open("shige1",'a',encoding="utf-8")  #文件句柄,(文件的内存对象);a = append表示 追加,也不具有读操作功能 
f.write("戈尔泰,大哥\n") 
f.write("我爱北京天安门\n") 
f.write("天安门上太阳升\n")
f.close()

以上代码在写入时,将内容追加在源文件内容的后面

3.文件的强制持久化

在我们安装软件的时候,出现的进度条,实际上就是这种持续刷新的过程。

#!/bin/python 

import sys,time 

for i in range(20):  

 
sys.stdout.write("#")  

   
sys.stdout.flush()  


    
time.sleep(0.1) 

4.文件截断


f =
open("shige","a",encoding="utf-8")

 f.truncate(20)

5.修改文件

  • 将文件加载到内存中,在内存中修改

  • 打开一个新文件,在新文件中修改


#Author:Anliu 

f =
open("write_file","r",encoding="utf-8") 

f_new =
open("write_file.bak","w",encoding="utf-8")

for line in f:   

       if
"徐志摩" in line:     

           line = line.replace("徐志摩","anliu")  

   
f_new.write(line)

 

f.close()

 f_new.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值