追加的文本为什么在最末尾
本帖最后由 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()
我都移动指针到最开头了,为什么追加的内容还是在追末尾
我想追加在最开头 追加不在最后在哪,,
先写在前面可以试试w写模式 1q23w31 发表于 2020-7-19 06:59
追加不在最后在哪,,
先写在前面可以试试w写模式
w变成覆盖了
我之前txt里有内容
我想在txt文本的最前面追加内容,不想追加在最末尾 本帖最后由 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)
参考这个方法,先把文件内容读出来,再添加你要写的内容 1q23w31 发表于 2020-7-19 07:07
参考这个方法,先把文件内容读出来,再添加你要写的内容
文件内容在打开时就被清空了,这样 f.read() 得到的结果是空字符串 用这种方法试试:
tf = open('//Users//helloworld//Desktop//f.txt', 'r+')
content = tf.read()
tf.seek(0)
tf.write('I am Da-Tian-Cai.' + content)
tf.close()
试试这样:
tf=open('//Users//helloworld//Desktop//f.txt','a')
tf.seek(0,0)
tf.write('I am Da-Tian-Cai.')
tf.close() 看看 这个:
https://www.cnblogs.com/xuexizongjie/p/10674306.html Twilight6 发表于 2020-7-19 07:53
试试这样:
不对啊,还是加在最末尾 xy1770 发表于 2020-7-19 08:03
不对啊,还是加在最末尾
a 的 write 使用 seek 是无效的,我刚刚去查了,要从开始追加要截断好像 Twilight6 发表于 2020-7-19 07:53
试试这样:
指针确实是移动了,但是加的内容还是在最末尾
xy1770 发表于 2020-7-19 08:05
指针确实是移动了,但是加的内容还是在最末尾
请注意,如果文件被打开使用的是’a’或’A+‘追加,任何seek()操作将在下次写时撤消。
如果该文件只打开使用 ‘A’ 追加模式写入,这种方法本质上是一个无操作,但是读取启用(模式’A+’),它在追加模式打开的文件非常有用。
如果文件在文本模式下使用“t”,只有 tell() 返回偏移开是合法的。其他偏移时会导致不确定的行为。
请注意,并非所有的文件对象都是可搜索。
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 xy1770 发表于 2020-7-19 08:05
指针确实是移动了,但是加的内容还是在最末尾
你指针移动是确实的 但是他会在下次写入时候撤销你的 seek 操作 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() xy1770 发表于 2020-7-19 08:07
---------------------------------------------------------------------------
UnsupportedOperation...
你复制错了吧……
页:
[1]