将字符串添加到现有文件中 Python
我需要在文本文件的第一个字符串中添加一行,似乎唯一可用的选项是更多的代码行,我会期待什么 python. 类似的东西:
没有更简单的方式吗? 另外,我看到这个例子比一个读者阅读和写作的开放更频繁 /'r+'/- 为什么这么呢?
f = open/'filename','r'/
temp = f.read//
f.close//
f = open/'filename', 'w'/
f.write/"#testfirstline"/
f.write/temp/
f.close//
没有更简单的方式吗? 另外,我看到这个例子比一个读者阅读和写作的开放更频繁 /'r+'/- 为什么这么呢?
没有找到相关结果
已邀请:
10 个回复
诸葛浮云
赞同来自:
这里遇到的基本真实性是您通常不能将数据添加到现有的平面结构而不覆盖整个结构。 无论语言如何,都是如此。
有些方法可以保存文件句柄或使您的代码更少可读,其中许多答案中给出了许多答案,但它们都没有更改基本操作:您必须读取现有文件,然后写出要添加的数据,然后写下您要添加的数据您阅读的现有数据。
一定都可以保持文件句柄,但不要尝试将此操作包装成更少的代码行。 事实上,你永远不会寻找最小的代码行数很困惑,而不是编程。
快网
赞同来自:
反而 python2:
Python3:
注意:功能 file// 不可用的B. python3.
风见雨下
赞同来自:
或一个衬里:
谢谢你有机会思考这个问题。 :/
舟
知食
赞同来自:
裸奔
赞同来自:
使用 'r+' 在读取和录制之前,您必须重新返回文件。
詹大官人
赞同来自:
- coding: utf-8 -
-' 排队 0. 这是此代码。
快网
赞同来自:
诸葛浮云
赞同来自:
石油百科
赞同来自:
因此,您首先打开文件,请阅读并将其保存一行。
然后我们正试图在将发生注入的行中找到字符编号。 然后在一个录制和一些智能行索引的帮助下,我们可以重写整个文件,包括输入的文本。
冰洋
赞同来自:
零碎
/而不是所有内容/ 并使用此缓冲区过文件,
虽然它是开放的
, 并继续分享内容 file<->buffer?
似乎更有效 /特别是对于大文件/, 而不是读书
全部的
内容
心里
, 更改
心里
并录制回相同的文件或 /什么是更糟糕的/ 在另一个。 对不起,现在我没有时间实现代码的片段的示例,我稍后会返回这一点,但也许你会理解这个想法。