Python | os.sendfile () method

os.sendfile() in Python is used to copy a specified number of bytes from a specified source file descriptor to the specified file descriptor dest, starting at the specified offset. 
This method returns the total number of bytes sent, and if EOF (end of file) is reached, it returns 0.

Syntax: os.sendfile (dest, source, offset, count)

Parameters:
dest: A file descriptor representing destination file.
source: A file descriptor representing source file
offset: An integer value representing starting position. Bytes to be sent will be counted from this position.
count: An integer value denoting total number of bytes to be sent from source file descriptor.

Return Type: This method returns an integer value which represents the total of bytes sent from source file descriptor to dest file descriptor. 0 is returned if EOF is reached.

Consider the text below as the contents of a file named & # 39; Python_intro.txt & # 39; .

Python is a widely-used general-purpose, high-level programming language. It was initially designed by Guido van Rossum in 1991 and developed by Python Software Foundation. It was mainly developed for emphasis on code readability, and its syntax allows programmers to express concepts in fewer lines of code. Python is a programming language that lets you work quickly and integrate systems more efficiently.

Code: using the os.sendfile method ()

# Python program to explain the os.sendfile () method

 
# import of the os module

import os

  

 
# Path to source file

source = `. / Python_intro.txt`

  
# path to destination file

dest = `. / newfile.txt`

  
# Open both files and get
# file descriptor
# using the 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 the 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 submitted / copied
# content from destination
# file descriptor

os.lseek (dest_fd, 0 , 0 )

str = os.read (dest_fd, bytesSent)

 
# Print bytes read

print ( str )

 
# Close file descriptors
os.close (src_fd)
os .close (dest_fd)

Exit:

 100 bytes sent / copied success fully. b`Python is a widely used general-purpose, high level programming language. It was initially designed `

Link: https://docs.python.org/3/library/os.html#os.sendfile