python修改指定行_python中文件操作的六种模式及对文件某一行进行修改的方法

一、python中文件操作的六种模式分为:r,w,a,r+,w+,a+

r叫做只读模式,只可以读取,不可以写入

w叫做写入模式,只可以写入,不可以读取

a叫做追加写入模式,只可以在末尾追加内容,不可以读取

r+叫做读写模式,可读可写,默认读光标从0也就是开头开始读取,但是写内容是从末尾开始写的

w+叫做写读模式,先清空之前内容,在从开头写入内容,默认光标在写入内容的结尾

a+叫做追加写读模式,可读可写,在末尾追加内容,,默认光标位置从原先内容末尾开始

二、对文件某一行进行修改的操作

1.创建一个文件poems:

白日依山尽,

黄河入海流。

2.现在要把第二行换成111222,操作如下:

p=open('poems','r',encoding='utf-8') #创建一个读的文本

q=open('poems1','w',encoding='utf-8') #创建一个写的文本

number=0

for i in p: #循环打印poems的内容

number += 1

if number==2:

i='111222\n' #当读到第二行的时候,替换第二行的内容为111222

q.write(i) #把在poems中读取的内容写在poems1中或者是:

with open('poems','r',encoding='utf-8') as p,open('poems1','w',encoding='utf-8')as q:

number = 0

for i in p: # 循环打印poems的内容

number += 1

if number == 2:

i = '111222\n' # 当读到第二行的时候,替换第二行的内容为111222

q.write(i) # 把在poems中读取的内容写在poems1中

结果如下:

白日依山尽,

111222

3.第二行后边添加111222

p=open('poems','r',encoding='utf-8') #创建一个读的文本

q=open('poems1','w',encoding='utf-8') #创建一个写的文本

number=0

for i in p: #循环打印poems的内容

number += 1

if number==2:

i=‘’.join((i,‘111222’)) #当读到第二行的时候,添加111222

q.write(i) #把在poems中读取的内容写在poems1中,或者是:

with open('poems','r',encoding='utf-8') as p,open('poems1','w',encoding='utf-8')as q:

number = 0

for i in p: # 循环打印poems的内容

number += 1

if number == 2:

i=‘’.join((i,‘111222’)) #当读到第二行的时候,添加111222

q.write(i) # 把在poems中读取的内容写在poems1中

结果如下:

白日依山尽,

黄河入海流,111222

你可能感兴趣的:(python修改指定行)