python 小题

写一个函数,可以指定位置去替换文件内容。

如果指定位置超出文件内容长度则在末尾添加,如果指定位置在文件内容中则从中修改
如:文件a.txt中内容为”gggg”,替换内容为”gloryroad”,
替换位置为1,则第二个g替换成gloryroad,则为”ggloryroadgg”,
若替换位置为4, - 则超出gggg索引位置,直接在末尾添加,则为”gggggloryroad”

 1 def func(path, num, s):
 2     with open(path, 'r+', encoding="utf-8") as f: # 用rb模式打开是覆盖
 3         length = len(f.read().strip()) # 获取内容的长度
 4         f.seek(0,0) # 把游标初始化,不影响下面的读操作
 5         if num <=length: # 判断长度,如果没超出了就直接覆盖
 6             f.seek(num)
 7             f.write(s)
 8         else:
 9             res = num-length # 判断长度,如果超出了就用空格来填充
10             f.seek(length)
11             f.write(res*' '+s)

 

posted @ 2019-11-05 19:46  海澜时见鲸  阅读(209)  评论(0)    收藏  举报