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)