我想将我的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()
`
答案 0 :(得分:1)
在浏览了一些其他帖子之后,似乎无法在不覆盖的情况下直接在文件开头的中间写入。要在中间写入,您需要复制或读取要插入的位置之后的所有内容。然后插入后将您读取的内容附加到文件中。 资料来源:How do I modify a text file in Python?
答案 1 :(得分:0)
好的,我找到了解决方案;打开(文件,' r +')作为文件:
r +它就像一个魅力:)