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

如果指定位置超出文件内容长度则在末尾添加,如果指定位置在文件内容中则从中修改

如:文件a.txt中内容为gggg,替换内容为gloryroad,替换位置为1,则第二个g替换成gloryroad,则为ggloryroadgg,若替换位置为4,则超出gggg索引位置,直接在末尾添加,则为gggggloryroad

def func(n,target_str):

    with open("1003.txt","r+",encoding="utf-8") as fp:

        word_str = fp.read()

        print(word_str)

        if n < len(word_str):

            word_list = list(word_str)

            word_list[n] = target_str

            print(word_list)

            word_str = "".join(word_list)

            print(word_str)

            fp.seek(0,0)#需要指定下游标

            fp.write(word_str)

        else:

            word_str = word_str+target_str

            fp.seek(0,0)#需要指定下游标

            fp.write(word_str)

func(2,"111")

func(50,"222")

你可能感兴趣的:(写一个函数,可以指定位置去替换文件内容。)