Python 文件(读\写)操作

文件(读\写)操作

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]

  

posted @ 2018-12-17 23:10  西夏一品唐  阅读(393)  评论(0编辑  收藏  举报