Python’s built-in file objects are implemented entirely on the FILE* support from the C standard library. This is an implementation detail and may change in future releases of Python. The PyFile_ APIs are a wrapper over the io module.
Create a new PyFileObject from the file descriptor of an already opened file fd. The arguments name, encoding and newline can be NULL to use the defaults; buffering can be -1 to use the default. Return NULL on failure.
Take care when you are mixing streams and descriptors! For more information, see the GNU C Library docs.
Equivalent to p.readline([n]), this function reads one line from the object p. p may be a file object or any object with a readline() method. If n is 0, exactly one line is read, regardless of the length of the line. If n is greater than 0, no more than n bytes will be read from the file; a partial line can be returned. In both cases, an empty string is returned if the end of the file is reached immediately. If n is less than 0, however, one line is read regardless of length, but EOFError is raised if the end of the file is reached immediately.
Write object obj to file object p. The only supported flag for flags is Py_PRINT_RAW; if given, the str() of the object is written instead of the repr(). Return 0 on success or -1 on failure; the appropriate exception will be set.