import os with open('in.txt', 'w') as file: file.write("Lorem ipsum\n") # Works and sends 'size' bytes with open('in.txt', 'r') as infile, open('out.txt', 'w') as outfile: size = os.stat('in.txt').st_size print(os.sendfile(outfile.fileno(), infile.fileno(), 0, 10000)) # Should return zero and send nothing -> breaks on Solaris with open('in.txt', 'r') as infile, open('out.txt', 'w') as outfile: size = os.stat('in.txt').st_size print(os.sendfile(outfile.fileno(), infile.fileno(), size, 10000))