Python论坛  - 讨论区

标题:[python-chinese] 关于写文件

2005年09月11日 星期日 19:37

Lee DYER lee.dyer at gmail.com
Sun Sep 11 19:37:51 HKT 2005

现在是想把一个字符串添加在一个文本文件的最前面
 好像用write模式的话就会把原来的东西覆盖掉
 用append模式只能把内容添加在最后面
 有什么办法么,暂时想到的只能是把原来的内容读出来,加进去以后再写入文件
 有什么其他的好办法么?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050911/dc892ba6/attachment.html

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

2005年09月11日 星期日 22:23

limodou limodou at gmail.com
Sun Sep 11 22:23:41 HKT 2005

在 05-9-11,Lee DYER<lee.dyer at gmail.com> 写道:
> 现在是想把一个字符串添加在一个文本文件的最前面 
>   
> 好像用write模式的话就会把原来的东西覆盖掉 
>   
> 用append模式只能把内容添加在最后面 
>   
> 有什么办法么,暂时想到的只能是把原来的内容读出来,加进去以后再写入文件 
>   
> 有什么其他的好办法么? 
> _______________________________________________

先全部读出来,写入你的东西,再将原来的东西写回去。没什么好办法。

-- 
I like python! 
My Donews Blog: http://www.donews.net/limodou

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

2005年09月11日 星期日 22:55

Bazaari guangxing at ict.ac.cn
Sun Sep 11 22:55:18 HKT 2005

执行socket.inet_aton("192.168.4.51")时返回的结果居然是'\xc0\xa8\x043',而不是正确的结果'\xc0\xa8\x4\x33'.
不但值不正确,而且格式也不正确。
并且测试了socket.inet_aton('1.1.1.51')得到的结果是'\x01\x01\x013',也是不正确的。
类似等等,好像没有几个点分十进制形式的地址可以得到所谓的整数字符串的。

不知道这个是不是python的一个BUG呢?
另外我的PYTHON版本是2.4.1
	

        致
礼!
 				

        Bazaari
        guangxing at ict.ac.cn
          2005-09-11

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

2005年09月13日 星期二 15:11

Qiangning Hong hongqn at gmail.com
Tue Sep 13 15:11:19 HKT 2005

limodou wrote:
> 在 05-9-11,Lee DYER<lee.dyer at gmail.com> 写道:
> 
>>现在是想把一个字符串添加在一个文本文件的最前面 
>>  
>>好像用write模式的话就会把原来的东西覆盖掉 
>>  
>>用append模式只能把内容添加在最后面 
>>  
>>有什么办法么,暂时想到的只能是把原来的内容读出来,加进去以后再写入文件 
>>  
>>有什么其他的好办法么? 
>>_______________________________________________
> 
> 
> 先全部读出来,写入你的东西,再将原来的东西写回去。没什么好办法。

如果文件很大的话,全部读出来会比较耗内存,可以用临时文件的方法:

1. 打开一个临时文件
2. 将需要插入的字符串写入临时文件
3. 用shutil.copyfileobj将原始文件的内容拷入临时文件中
4. 关闭原始文件和临时文件
4. 将临时文件改名,覆盖原始文件


-- 
Qiangning Hong
http://www.hn.org/hongqn (RSS: http://feeds.feedburner.com/hongqn)

Registered Linux User #396996
Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=1>
Thunderbird! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=183>

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号