python 3读取文件-python3的txt文件读写

现在我一般都是直接用with open比较保险:

with open("test.txt","r","utf-8") as f:

# 为a+模式时,因为为追加模式,指针已经移到文尾,读出来的是一个空字符串。ftext

= f.read()# 一次性读全部成一个字符串ftextlist = f.readlines()# 也是一次性读全部,但每一行作为一个子句存入一个列表

w新建只写,w+新建读写,二者都会将文件内容清零

r读打开,r+读写打开

**w+,r+与a+区别:

r+:可读可写,若文件不存在,报错, 进行了覆盖写;

w+: 可读可写,若文件不存在,创建,进行了清空写;

a+:可读可写但光标在最后面(然后读到最后面,所以读到空字符串),若文件不存在,创建,进行了追加写;

下图为r+模式下的覆盖写

1240

不可读的打开方式:w和a

若不存在会创建新文件的打开方式:a,a+,w,w+

1100433-20171215113148043-112003512.png

a 模式不能用来读,即使用f.read()等会报错。

然后记一下下面几种方法:

F.read([size]) #size为读取的长度,以byte为单位

F.readline([size])

#读一行,如果定义了size,有可能返回的只是一行的一部分

F.readlines([size])

#把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。

F.write(str) # 写入一句,要换行的话可以加上" "

#把str写到文件中,write()并不会在str后加上一个换行符

F.writelines(seq) # 写入多行

#把seq的内容全部写到文件中。这个函数也只是忠实地写入,不会在每行后面加上任何东西。

另:调用seek方法可以把指针指向想要的位置:如 f.seek(0) #指向开头

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值