📜  Python| os.ftruncate() 方法(1)

📅  最后修改于: 2023-12-03 15:34:15.766000             🧑  作者: Mango

Python| os.ftruncate() 方法

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"。