您的位置:首页 > 编程语言 > Python开发

python修改txt文件中下一行的内容

2019-04-07 14:30 363 查看

words = [‘cat’, ‘window’, ‘defenestrate’]

# for w in words:

# # print(w)

n=-1

for w in words[0:len(words)]:

# n=n+1
# print(n)
# if n < len(words)-1 and :
# print(words[n+1])
# #print(w)

dict = {‘aa’:‘aaaa’,‘bb’:‘bbbb’,‘cc’:‘cccc’,‘dd’:‘dddd’,‘ee’:‘eeee’}
file=“d:\python\2.txt”
#def string_switch(file,y,dict[‘abc’],s=1):

def changefile(file):
with open(file, “r”, encoding=“utf-8”) as f:
#readlines以列表的形式将文件读出
lines = f.readlines()
#print(lines)
global t,b
t = “t”
b=“b”
with open(file, “w”, encoding=“utf-8”) as f_w:
#定义一个数字,用来记录在读取文件时在列表中的位置
#n = 0
#默认选项,只替换第一次匹配到的行中的字符串
#len(list(dict.keys()))
for dictkey in dict.keys():
linenumber=0
mark=1
#print(dictkey)
#for line in lines:
for linenumber in range(len(lines)):
if linenumber < len(lines)-1:
#f_w.write(lines[linenumber])
if dictkey in lines[linenumber] and mark ==1:
mark =0
f_w.write(lines[linenumber])
#print(lines[linenumber])
#print(lines[linenumber+1])
lines[linenumber+1]=lines[linenumber+1].replace(lines[linenumber+1].strip().strip(">$t</"),dict[dictkey])
#print(lines[linenumber+1])
f_w.write(lines[linenumber+1])
#linenumber=linenumber+1

#print(linenumber)
#print(1)
#print(mark)
elif dictkey not in lines[linenumber] and mark ==0:
f_w.write(lines[linenumber])
mark =1
print(linenumber)

changefile(file)
# if s == 1:
# for line in lines:
# if y in line:
# n += 1
# line = line.replace(y,dict)
# f_w.write(line)

# break
# f_w.write(line)
# n += 1
# #将剩余的文本内容继续输出
# for i in range(n,len(lines)):
# f_w.write(lines[i])
# #全局匹配替换
# elif s == 'g':
# for line in lines:
# if y in line:
# line = line.replace(y,z)
# f_w.write(line)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: