python 文件读写 newline_python 文件读写

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

Open file and return a stream. Raise IOError upon failure.

常用打开模式:

r 只能读

r+ 可读可写,不会创建不存在的文件,从顶部开始写,会覆盖之前此位置的内容

w+ 可读可写,如果文件存在,则覆盖整个文件,不存在则创建

w 只能写,覆盖整个文件,不存在则创建

a 只能写,从文件底部添加内容 不存在则创建

a+ 可读可写 从文件顶部读取内容 从文件底部添加内容 不存在则创建 ???实际上从头开始写

注:rb 是以二进制读取,用到socket的时候,传输文件,读取和写入用的都是二进制形式,rb和wb可以更快速的进行文件的传输

1 with open('test.txt', mode='r+', encoding='utf-8') as f:

2 f.read(1)

3 f.writelines("北京")

============

写操作不会自动加入换行符

读的一行末尾会有换行操作,可以用''.strip()去掉换行符

with open('test.txt', mode='r', encoding='utf-8') as f:

for line in f:

print(line.strip()) 去掉换行

================

如果指针已经指向后面,想要读取前面的内容,需要先把指针重新指向前面再读取。

with open('test.txt', mode='w+', encoding='utf-8') as f:

f.writelines("天津")

f.writelines('山东')

f.flush()

f.seek(0)print(f.readlines())

file.seek(off, whence=0):从文件中移动off个操作标记(文件指针),正往结束方向移动,负往开始方向移动。如果设定了whence参数,就以whence设定的起始位为准,0代表从头开始,1代表当前位置,2代表文件最末尾位置。

==============

示例:

f = open('cdays-4-test.txt', 'r') #以读方式打开文件

result = list()

for line in f.readlines(): #依次读取每行

line = line.strip() #去掉每行头尾空白

if not len(line) or line.startswith('#'): #判断是否是空行或注释行

continue #是的话,跳过不处理

result.append(line) #保存

result.sort() #排序结果

f.close()                  #关闭文件

with open('new_file.txt','w') as fw: #with方式不需要再进行close

fw.write('%s' % '\n'.join(result))     #保存入结果文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值