当前位置: 代码迷 >> 综合 >> python truncate()
  详细解决方案

python truncate()

热度:42   发布时间:2023-11-03 22:55:23.0

1.指针在0时

>>> f = open("/tmp/bbb","r+")
>>> f.read()
'abcdefg'<span style="font-family: Arial, Helvetica, sans-serif;">#此时文件内容为abcdefg</span>
>>> f.close()
>>> f = open("/tmp/bbb","r+")
>>> f.truncate(0)#截断为0,清除所有内容
>>> f.read()#此时文件内容为空
''
>>> f.close()

2.指针不为0,截取位置小于filesize

>>> f = open("/tmp/bbb","r+")
>>> f.read()
'abcdefg'#此时文件内容为abcdefg
>>> f.close()
>>> f = open("/tmp/bbb","r+")
>>> f.truncate(3)#将文件截断为3字节
>>> f.tell()#当前文件指针为0
0
>>> f.read()
'abc'#前三个字节内容abc保留,后面的内容被清除
>>> f.close()
>>> f = open("/tmp/bbb","r+")#上面处理结束后文件内容为abc
>>> f.seek(1) #第一个字节(b)
>>> f.truncate(1)#只保留a,bc都被清除
>>> f.read()#此时指针在第一个字节,但a后面没内容了
''
>>> f.close()
>>> f = open("/tmp/bbb","r+")
>>> f.read()
'a'

3.截取位置大于filesize

>>> f = open("/tmp/bbb","r+")
>>> f.read()
'abcdefg'
>>> f.read()
''
>>> f = open("/tmp/bbb","r+")
>>> f.truncate(20)
>>> f.read()
'abcdefg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>> f.close()