Python论坛  - 讨论区

标题:[python-chinese] 如何向文件的第一行插入内容

2006年10月28日 星期六 18:22

john john.about在gmail.com
星期六 十月 28 18:22:23 HKT 2006

各位一个关于文件的问题.
比如说我有一个文件,log.txt,内容如下:
bbb
ccc
ddd
我想在第一行插入aaa,如何才能做到?
我试了下:
f = open('log.txt','a')
f.seek(-10, 0)
f.write('aaa')
f.close()
结果是
 bbb
ccc
dddaaa

请问各位大大这个应该怎么做??
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061028/addc0942/attachment-0001.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月28日 星期六 19:00

Xupeng Yun recordus在gmail.com
星期六 十月 28 19:00:39 HKT 2006

这个应该不用全读出来处理了再写入吧?同样关注中。
-- 
I like Python & Linux.
Blog: http://recordus.cublog.cn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061028/743a993b/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月28日 星期六 19:41

FireBird ygonic在gmail.com
星期六 十月 28 19:41:02 HKT 2006

关注。目前还只会重写。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月28日 星期六 20:44

limodou limodou在gmail.com
星期六 十月 28 20:44:06 HKT 2006

On 10/28/06, FireBird <ygonic在gmail.com> wrote:
> 关注。目前还只会重写。

因为我们平时使用的文本文件是顺序文件,不能向其中插入信息,我认为只能是重写。


-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月29日 星期日 02:23

谢小漫 cat在ewyu.com
星期日 十月 29 02:23:34 HKT 2006

再写多一个文件,合并两个文件,可以吗?

2006/10/28, limodou <limodou at gmail.com>:
> On 10/28/06, FireBird <ygonic at gmail.com> wrote:
> > 关注。目前还只会重写。
>
> 因为我们平时使用的文本文件是顺序文件,不能向其中插入信息,我认为只能是重写。
>
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese


-- 
花开邑大,漫步心月湖。
http://www.ewyu.com/

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月29日 星期日 09:44

fdcn fdcn64在gmail.com
星期日 十月 29 09:44:29 HKT 2006

这和重写没有区别

On 10/29/06, 谢小漫 <cat在ewyu.com> wrote:
>
> 再写多一个文件,合并两个文件,可以吗?
>
> 2006/10/28, limodou <limodou在gmail.com>:
> > On 10/28/06, FireBird <ygonic在gmail.com> wrote:
> > > 关注。目前还只会重写。
> >
> > 因为我们平时使用的文本文件是顺序文件,不能向其中插入信息,我认为只能是重写。
> >
> >
> > --
> > I like python!
> > UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> > My Blog: http://www.donews.net/limodou
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
> --
> 花开邑大,漫步心月湖。
> http://www.ewyu.com/
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20061029/05971627/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月29日 星期日 11:01

麦田守望者 qcxhome在gmail.com
星期日 十月 29 11:01:28 HKT 2006

创建一个新文件,把内容写入这个新文件,然后在删掉原来的。创建新文件的时候,现计算需要的磁盘空间大小,一次性申请整个文件。

如果文件小,可以放在内存中处理。

-- 
GoogleTalk: qcxhome at gmail.com
MSN: qcxhome at hotmail.com
My Space: tkdchen.spaces.live.com
BOINC: boinc.berkeley.edu
中国分布式计算总站: www.equn.com

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月29日 星期日 17:15

syli hailang_0512在163.com
星期日 十月 29 17:15:49 HKT 2006

fdcn 写道:
> 这和重写没有区别
>
> On 10/29/06, *谢小漫* <cat在ewyu.com cat在ewyu.com>> wrote:
>
>     再写多一个文件,合并两个文件,可以吗?
>
>     2006/10/28, limodou <limodou在gmail.com limodou在gmail.com>>:
>     > On 10/28/06, FireBird <ygonic在gmail.com
>     ygonic在gmail.com>> wrote:
>     > > 关注。目前还只会重写。
>     >
>     > 因为我们平时使用的文本文件是顺序文件,不能向其中插入信息,我认为
>     只能是重写。
>     >
>
 我建议你应该考虑一下为何要写到文件头呢?
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20061029/35a03f1c/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年10月30日 星期一 08:55

amingsc amingsc在gmail.com
星期一 十月 30 08:55:00 HKT 2006

我想好的办法是使用数据库,要是想更简单点可以看看sqlite,好像是这名,以前列
表里有讨论的没用过;
另外一个办法是自己建个索引来模拟数据行的顺序,你自己新建一个文件类呗
class SuperFile:
def __init(***):
self.index={} #对逻辑顺序与物理顺序进行映射
self.tail=0 #记录最后写入数据行的位置
def open(*******):
def read(****):
def write(****):
self.file.write(line)
self.tail+=1 #步进写入点位置
def close(*****):
def insert(self,index, line):
self.write(line)
self.index[index]=self.tail
反正差不多就这个意思,自己慢慢完善哈
感觉是弄完善了跟数据库也差不多了,哈哈

john 写道:
> 各位一个关于文件的问题.
> 比如说我有一个文件,log.txt,内容如下:
> bbb
> ccc
> ddd
> 我想在第一行插入aaa,如何才能做到?
> 我试了下:
> f = open('log.txt','a')
> f.seek(-10, 0)
> f.write('aaa')
> f.close()
> 结果是
> bbb
> ccc
> dddaaa
> 请问各位大大这个应该怎么做??
> ------------------------------------------------------------------------
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号