Python 文件(读\写)操作

本文详细介绍了Python中文件的读写操作,包括open函数的各种模式,如读模式(r)、写模式(w)、追加模式(a),以及二进制模式(b)和读/写模式(+)。同时,讲解了file对象的常用属性和方法,如mode、name、softspace以及read、write、close、tell和seek等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件(读\写)操作

open()函数,用来打开文件,创建file对象。
open(name[,mode[,buffering]])
name:要打开的文件
mode:是打开文件的模式(读、写、追加)
buffering:是否要寄存,默认为0或者False(不寄存),1或True表示寄存(意味着使用内存来代替硬盘,让程序更快,只有使用flush或者close才会更新硬盘上的数据),如果大于1表示寄存区的缓冲大小(单位:字节),如果是负值,表示寄存区为系统默认大小。

open函数中模式参数的常用量:
r 读模式
w 写模式
a 追加模式
b 二进制模式(可添加到其次模式中使用)
+ 读/写模式(可添加到其他模式中使用)

 

例如:
r:读模式
f=open("D:\\test.txt",'r')
for i in f:
	print i
f.close()    #关闭文件
运行结果:
12345 abc 

654321
[Finished in 0.1s]


w:写模式
def f_read():
	f_r=open("D:\\test.txt",'r')
	for i in f_r:
		print i
	f_r.close()

f_w=open("D:\\test.txt",'w')    #写模式,非追加模式,新写入的内容将覆盖原有数据
f_w.write("welcome python")
f_w.close()
f_read()
运行结果:
welcome python
[Finished in 0.2s]


a:追加模式
def f_read():
	f_r=open("D:\\test.txt",'r')
	for i in f_r:
		print i
	f_r.close()

f_w=open("D:\\test.txt",'a')    #写模式,追加模式,保留原有数据,新写入的数据放到原始数据后面
f_w.write("welcome python")
f_w.close()
f_read()
运行结果:
123456

798456welcome python
[Finished in 0.1s]


file对象的常用属性:
mode 				返回被打开文件的访问模式
name 				返回被打开文件的文件名
softspace 			如果print输出后,必须跟一个空格符,则返回false,否则返回true

例如:
f_w=open("D:\\test.txt",'a')    
f_w.write("welcome python")
print f_w.mode  #打印file对象的模式
print f_w.name  #打印file对象的文件名称
print f_w.softspace  #是否强制在末尾加空格符
f_w.close()
运行结果:
a
D:\test.txt
0
[Finished in 0.2s]


file对象的常用方法:
read 			读取文件内容
write 			写入文件内容
close 			关闭文件
tell			获取当前指针在文件的位置
seek			设置指针位置

read([count])方法,count表示要读取的长度,如果不传则读取全部内容
f_r=open("D:\\test.txt",'r')    
print f_r.read()
运行结果:
123456
798456welcome pythonwelcome pythonwelcome pythonwelcome python
[Finished in 0.2s]

设置读取长度:
f_r=open("D:\\test.txt",'r')    
print f_r.read(20)    #读取20个字符长度
运行结果:
123456
798456welcome
[Finished in 0.1s]


write(string)方法:
f_w=open("D:\\test.txt",'w')    
f_w.write("this is write content")    #写入内容
f_w.close()

f_r=open("D:\\test.txt",'r')
print f_r.read()
f_r.close()
运行结果:
this is write content
[Finished in 0.2s]


tell()方法
f_w=open("D:\\test.txt",'w')    
f_w.write("this is write content")    #读取20个字符长度
f_w.close()

f_r=open("D:\\test.txt",'r')
print f_r.read(6)
print f_r.tell()   #打印当前指针的位置
f_r.close()
运行结果:
this i
6
[Finished in 0.2s]


seek(offset[,from])方法,offset变量表示要移动的字节数,from变量指定开始移动字节的参考位置
f_w=open("D:\\test.txt",'w')    
f_w.write("this is write content")    #读取20个字符长度
f_w.close()

f_r=open("D:\\test.txt",'r')
f_r.seek(6)		   #从第6个位置开始读取
print f_r.read()
f_r.close()
运行结果:
s write content
[Finished in 0.1s]

  

转载于:https://www.cnblogs.com/JcHome/p/10134633.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值