python文件读写操作

读文件:

python打开一个文件用open()方法,open()返回的是一个文件对象:

f=open('test.txt','r')  #r表示是文本文件,rb是二进制文件

如果文件不存在,open()函数会抛出一个IOError错误。

文件使用open()打开时候,必须关闭,因为文件会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的。

f.close()

可以采用with语句来自动调用close()方法:

with open('path/to/file','r') as f:
print(f.read())    #使用with.open方法打开文件后会自动关闭

python提供了三个“读方法”:read()、readline()和readlines()。

  • read()每次读取整个文件并将文件内容放到一个字符串变量中,可以采用read(size)方法,每次读取size个字节的内容。
  • readline()每次读取一行。
  • readlines()一次读取所有内容并按行返回list,该列表可以由python的for...in...结构进行处理。

这三种方法把每行末尾的‘\n’读进来,采用下述方法将\n去掉:

with open('test.txt','r') as f:
    lst=f.readlines()
for i in range(0,len(lst)):
    lst[i]=lst[i].restrip('\n') #将末尾的\n去掉

写文件:

写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符‘w’或者‘wb’表示写文本文件或写二进制文件:

使用write来写入文件时,务必调用f.close()来关闭文件,所以还是使用with语句来得保险:

with open('test.txt','w') as f:  # w模式是这样:如果没有这个文件就创建一个,如果有会先把原文件清 
                                   空再写入新的东西,如果不想清空原内容,使用'a'这个模式
    f.write('hello,world!')

python提供了'write'和'writelines'方法:

  • write()方法和read()、readline()方法对应,是将字符串写入到文件中。
  • writelines()方法和readlines()方法对应,是针对列表的操作,他接受一个字符串列表作为参数,将他们写入到文件中,换行符不会自动加入,因此,需要显式的加入换行符。
f=open('test1.txt','w')
f1.writelines(["1","2","3"])

# 此时test1.txt的内容为:123

f=open('test1.txt','w')
f1.writelines(["1\n","2\n","3\n"])

# 此时test.txt的内容为:
# 1
# 2
# 3

open()的mode参数:

'r':读

'w':写

'a':追加

'r+'==r+w:可读可写,文件不存在报错

'w+'==w+r:可写可读,文件不存在就创建

'a+'==a+r:可追加可写,文件不存在就创建

'rU'或者'Ua'以读方式打开,同时提供通用换行符支持

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值