Python将字符插入到txt文件中而不会覆盖

时间:2016-04-06 07:39:01

标签: python-2.7

我想将我的Random()的返回值插入到txt文件而不覆盖('a')和特定的位置,比如六位字符,但是当我执行它时,Random插入到第三行

`def Modif_Files(p_folder_path):

    Tab = []
    for v_root, v_dir, v_files in os.walk(p_folder_path):
        print v_files
        for v_file in v_files:
            file = os.path.join(p_folder_path, v_file)
            #with open(file, 'r') as files:
                #for lines in files.readlines():
                    #Tab.append([lines])
            with open(file, 'a') as file:
                file.write("\n add " + str(Random())) #Random = int
                #file.close

def Random():

    global last
    last = last + 3 + last * last * last * last % 256
    return last

def main ():

    Modif_Files(Modif_Path, 5) # Put path with a txt file inside
if __name__ == '__main__':
    main()

`

2 个答案:

答案 0 :(得分:1)

在浏览了一些其他帖子之后,似乎无法在不覆盖的情况下直接在文件开头的中间写入。要在中间写入,您需要复制或读取要插入的位置之后的所有内容。然后插入后将您读取的内容附加到文件中。 资料来源:How do I modify a text file in Python?

答案 1 :(得分:0)

好的,我找到了解决方案;打开(文件,' r +')作为文件:

r +它就像一个魅力:)