Python os.sendfile()方法
Python中的os.sendfile()方法用于从指定的偏移量开始,从指定的源文件描述符复制指定字节数到指定的dest文件描述符。
这个方法返回发送的总字节数,如果达到EOF(文件结尾),则返回0。
os.sendfile 语法
os.sendfile(dest, source, offset, count)
os.sendfile 参数
dest:表示目标文件的文件描述符。
source:表示源文件的文件描述符
offset:表示起始位置的整数值。要发送的字节将从这个位置计数。
count:一个整型值,表示从源文件描述符发送的字节总数。
返回类型:该方法返回一个整型值,表示从源文件描述符发送到dest文件描述符的字节总数。如果到达EOF,返回0。
将下面的文本视为名为“Python_intro.txt”的文件的内容。
Python是一种被广泛使用的通用高级编程语言。它最初由Guido van Rossum于1991年设计,并由Python软件基金会开发。它的开发主要是为了强调代码的可读性,它的语法允许程序员用更少的代码行来表达概念。Python是一种编程语言,可以让您快速工作并更有效地集成系统。
os.sendfile 示例1
使用 os.sendfile() 方法
# Python program to explain os.sendfile() method
# importing os module
import os
# Source file path
source = './Python_intro.txt'
# destination file path
dest = './newfile.txt'
# Open both files and get
# the file descriptor
# using os.open() method
src_fd = os.open(source, os.O_RDONLY)
dest_fd = os.open(dest, os.O_RDWR | os.O_CREAT)
# Now send n bytes from
# source file descriptor
# to destination file descriptor
# using os.sendfile() method
offset = 0
count = 100
bytesSent = os.sendfile(dest_fd, src_fd, offset, count)
print("% d bytes sent / copied successfully." % bytesSent)
# Now read the sent / copied
# content from destination
# file descriptor
os.lseek(dest_fd, 0, 0)
str = os.read(dest_fd, bytesSent)
# Print read bytes
print(str)
# Close the file descriptors
os.close(src_fd)
os.close(dest_fd)
输出:
100 bytes sent/copied successfully.
b'Python is a widely used general-purpose, high level programming language.
It was initially designed '