鱼C论坛

 找回密码
 立即注册
查看: 1380|回复: 15

[已解决]追加的文本为什么在最末尾

[复制链接]
发表于 2020-7-19 04:29:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 xy1770 于 2020-7-19 08:07 编辑
tf=open('//Users//helloworld//Desktop//f.txt','a') 

tf.seek(0)  # 移动指针 0-移动到文件开头、

tf.write('I am Da-Tian-Cai.')

tf.close()

我都移动指针到最开头了,为什么追加的内容还是在追末尾
我想追加在最开头
最佳答案
2020-7-19 07:53:33

试试这样:
tf=open('//Users//helloworld//Desktop//f.txt','a') 
tf.seek(0,0) 
tf.write('I am Da-Tian-Cai.')

tf.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-19 06:59:40 | 显示全部楼层
追加不在最后在哪,,
先写在前面可以试试w写模式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-19 07:02:47 | 显示全部楼层
1q23w31 发表于 2020-7-19 06:59
追加不在最后在哪,,
先写在前面可以试试w写模式

w变成覆盖了
我之前txt里有内容
我想在txt文本的最前面追加内容,不想追加在最末尾
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 07:07:54 | 显示全部楼层
本帖最后由 1q23w31 于 2020-7-19 07:20 编辑
xy1770 发表于 2020-7-19 07:02
w变成覆盖了
我之前txt里有内容
我想在txt文本的最前面追加内容,不想追加在最末尾

with open('article.txt', 'r+') as f:
    content = f.read()        
    f.seek(0, 0)
    f.write('writer:Fatsheep\n'+content)
参考这个方法,先把文件内容读出来,再添加你要写的内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 07:18:49 | 显示全部楼层
1q23w31 发表于 2020-7-19 07:07
参考这个方法,先把文件内容读出来,再添加你要写的内容

文件内容在打开时就被清空了,这样 f.read() 得到的结果是空字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 07:34:03 | 显示全部楼层
用这种方法试试:
tf = open('//Users//helloworld//Desktop//f.txt', 'r+')
content = tf.read()
tf.seek(0)
tf.write('I am Da-Tian-Cai.' + content)
tf.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 07:53:33 | 显示全部楼层    本楼为最佳答案   

试试这样:
tf=open('//Users//helloworld//Desktop//f.txt','a') 
tf.seek(0,0) 
tf.write('I am Da-Tian-Cai.')

tf.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 08:02:01 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-19 08:03:52 | 显示全部楼层

不对啊,还是加在最末尾
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 08:05:22 | 显示全部楼层
xy1770 发表于 2020-7-19 08:03
不对啊,还是加在最末尾

a 的 write 使用 seek 是无效的,我刚刚去查了,要从开始追加要截断好像
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-19 08:05:47 | 显示全部楼层

指针确实是移动了,但是加的内容还是在最末尾
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 08:07:00 | 显示全部楼层
xy1770 发表于 2020-7-19 08:05
指针确实是移动了,但是加的内容还是在最末尾
请注意,如果文件被打开使用的是’a’或’A+‘追加,任何seek()操作将在下次写时撤消。
如果该文件只打开使用 ‘A’ 追加模式写入,这种方法本质上是一个无操作,但是读取启用(模式’A+’),它在追加模式打开的文件非常有用。
如果文件在文本模式下使用“t”,只有 tell() 返回偏移开是合法的。其他偏移时会导致不确定的行为。
请注意,并非所有的文件对象都是可搜索。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-19 08:07:03 | 显示全部楼层
zltzlt 发表于 2020-7-19 07:34
用这种方法试试:

---------------------------------------------------------------------------
UnsupportedOperation                      Traceback (most recent call last)
<ipython-input-4-d55e7a27c3fc> in <module>
      3 """
      4 tf=open('//Users//sunzheng//Desktop//f.txt','a')
----> 5 content = tf.read()
      6 tf.seek(0)
      7 tf.write('I am Da-Tian-Cai.' + content)

UnsupportedOperation: not readable
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 08:07:46 | 显示全部楼层
xy1770 发表于 2020-7-19 08:05
指针确实是移动了,但是加的内容还是在最末尾


你指针移动是确实的 但是他会在下次写入时候撤销你的 seek 操作
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 08:14:36 | 显示全部楼层
xy1770 发表于 2020-7-19 08:07
---------------------------------------------------------------------------
UnsupportedOperation  ...


这样即可了:
tf=open('//Users//helloworld//Desktop//f.txt','a') 
tf.seek(0,0)  
temp = tf.readlines()
tf.seek(0,0)
tf.truncate()
tf.write('I am Da-Tian-Cai.\n')
tf.writelines(temp)
tf.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 08:16:21 | 显示全部楼层
xy1770 发表于 2020-7-19 08:07
---------------------------------------------------------------------------
UnsupportedOperation  ...

你复制错了吧……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 23:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表