繁体   English   中英

覆盖python文件中的一些数据

[英]overwrite some data in a python file

我希望有人可以帮助我,我目前正在尝试将一些数据添加到文本文件中,但是我这样做的方式并没有给我想要的东西。 我有一个包含20多个行的文本文件,并想用30个新字符覆盖文件的前30个字符。 我拥有的代码删除所有内容,并仅添加30个字符。 请帮忙 :)

file=open("text.txt", "w")

这有什么问题为什么为什么它也显示所有原始数据而不是简单地覆盖它呢?

一种方法是将整个文件读取为单个字符串,创建一个替换为前30个字符的新字符串,然后重写整个文件。 可以这样完成:

with open("text.txt", "r") as f:
    data = f.read()

new_thirty_characters = '<put your data here>'

new_data = new_thirty_characters + data[30:]

with open("text.txt", "w") as f:
    f.write(new_data)

理想情况下,读取文件后,必须检查文件是否包含30个以上的字符。 另外,请勿将文件名和其他保留名用作变量名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM