truncate()函数解析
函数作用
把一个文件流截断,不带参数时,就在当前位置截断。比如说一个100B的文件,我只需要它的前20B内容,那么就可以使用这个函数
函数用法
新建一个文件baidu.txt如下,并将该文件放在与test.py放在一个目录下
需要知道的是,一个字符占一个字节,在第一行和第二行之间还有个换行符’\n’,转义字符占两个字节,那么整个第一行:1:www.baidu.com’\n’
是占17个字节的
用法一:不设置truncate()参数
test.py的内容如下
fo = open("baidu.txt", "r+", encoding="utf-8") # 以读的形式打开文件
fo.seek(34) # seek()是偏移量函数,34表示文件指针指向第35个字节(偏移量从0开始)所在位置
fo.truncate() # 第35个字节及之后的内容被截断了
fo.seek(0) # 再将文件指针指向第0个位置
line = fo.readlines() # line是第0到第34个字节的所有内容
print("读取行: %s" %(line))
fo.close
结果如下,读取了34个字节,即两行的字符
用法二:设置truncate()参数
fi = open("baidu.txt", "r+", encoding="utf-8") # 以读的形式打开文件
fi.truncate(11) # 截取前11个字节
fi.seek(0) # 将指针放到第一个字节的位置(这里不用也行,是为了保险起见)
line = fi.read()
print("读取数据: %s" % (line))
fi.close()
结果如下,读取了前11个字节