📅  最后修改于: 2023-12-03 15:34:15.766000             🧑  作者: Mango
os.ftruncate()
方法可以截断已打开文件的长度,即减少文件的大小。该方法需要用到文件的描述符,文件必须以读写方式打开。截断文件后,文件的内容将被删除。如果需要在文件尾部追加内容,可以使用文件指针进行操作。
os.ftruncate(fd, length)
fd
- 文件的描述符,必须以读写方式打开。length
- 指定文件截断的长度,以字节为单位。os.ftruncate()
方法没有返回值。
import os
# 打开文件
fd = os.open("demo.txt", os.O_RDWR|os.O_CREAT)
# 写入内容到文件
os.write(fd, b"Hello World")
# 文件指针移动到文件开头
os.lseek(fd, 0, 0)
# 读取文件内容
content = os.read(fd, 100)
print(content.decode()) # 输出:Hello World
# 截断文件
os.ftruncate(fd, 5)
# 文件指针移动到文件开头
os.lseek(fd, 0, 0)
# 读取文件内容
content = os.read(fd, 100)
print(content.decode()) # 输出:Hello
在上面的示例代码中,首先使用 os.open()
方法打开文件,并返回文件描述符。然后使用 os.write()
方法往文件中写入内容。
接着,使用 os.lseek()
方法将文件指针移动到文件开头处。使用 os.read()
方法读取文件内容,并打印在控制台上。
然后使用 os.ftruncate()
方法截断文件长度为 5 个字节。再次使用 os.lseek()
方法将文件指针移动到文件开头处。使用 os.read()
方法读取文件内容,并打印在控制台上。可以看到,文件内容已经被截断为 "Hello"。