python seek write_python中的seek模式用于写入而不覆盖?

博客展示了Python代码,通过读取foo.txt文件内容,向write.txt文件写入内容。当遇到特定内容时,使用seek和write方法操作。但在写入时出现覆盖问题,作者询问如何实现不覆盖写入,还提及无文件编写的“插入模式”,缓存重贴对大文件慢。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fo = open("foo.txt", "r")

a = fo.readlines();

fo1 = open("write.txt", "w")

j=len(a)

print j

i=0

while i < j:

if (a[i] == "hi\n"):

fo1.write('hi\nhow\nare\nyou');

if (a[i] == "hello\n"):

fo1.seek(-3, 2)

fo1.write('\nalways\nnot\n');

i += 1

fo.close()

fo1.close()

有两个文本文件

1)foo.txt的 - 包含

hi

hello

2)write.txt是空白文件

它检查a [i]打招呼,因为它是你好,它会执行这个语句的代码

fo1.write('hi\nhow\nare\nyou');

所以,write.txt会是这样

how

are

you

之后,它会检查它有[i]为喜 ,因为它是喜,它将从端将指针移动到-3和将写这个代码语句

fo1.write('\nalways\nnot\n');

输出应该像

How

are

always

not

you

但电流输出我得到的是

How

are

always

not

以上输出已经得到了“你”删除 预期输出是这

How

are

always

not

you

我没试过追加写模式,两者都是一样的

因此,我如何写而不覆盖?

2016-04-19

Basil

+3

尽管您可能会对文本编辑器和Microsoft Word的体验有所期待,但是没有用于文件编写的“插入模式”。 –

+0

事实上,您最大的希望就是缓存文档的底部,添加新文本并重新粘贴。但是,这对大文件来说会很慢。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值