Python codecs Library open and EncodedFile functions














































Python codecs Library open and EncodedFile functions



Python codecs Library

The purpose of this module is Encoding and decoding i.e. conversion of the texts between different representations.
This module defines base classes for standard Python codecs (encoders and decoders) and provides access to the internal Python codec registry, which manages the codec and error handling lookup process.

The next two functions defined here are :
1. codecs.open(filename, mode='r', encoding=None, errors='strict', buffering=-1):
2. codecs.EncodedFile(file, data_encoding, file_encoding=None, errors='strict'):

codecs.open(filename, mode='r', encoding=None, errors='strict', buffering=- 1):

This function is used to open the encoded file using the given mode (read or write given as the second argument).
It returns an instance of StreamReaderWriter, providing transparent encoding or decoding.
Talking about the arguments the function takes:
The first argument is the name of the file which you want to open using this method.
The second argument is the mode with which you want to open the file. The default mode for mode is 'r' i.e. 'read' which means to open the file in the read mode. It must be noted that the underlying encoded files must be opened in the binary mode otherwise no automatic conversion of '\n' is done on reading and writing. Whatever be the mode of opening the file, it can be any binary mode acceptable to the built-in open() function; the 'b' is automatically added to it. Opening the file in the binary mode avoids the data loss that may occur when dealing with 8-bit encoding. 
The different modes that can be passed are:
'r': open file for reading
'w': open file for writing
'rb': open file in binary format for reading.
'wb': open file in binary format for writing.
The third argument is encoding. This specifies the encoding which is to be used for the file. Any encoding that encodes to and decodes from bytes is allowed and the data types supported by the file methods depend on the codec used.
The fourth argument 'errors' is passed and by default errors='strict' which causes a ValueError to be raised in case of encoding error occurs.
The last argument buffering is used to keep some buffer size for storing a chunk of file in a temporary memory until the file loads completely. It defaults to -1 which means that the default buffer size needs to be used.

EXAMPLE:

       

codecs.EncodedFile(file, data_encoding, file_encoding=None, errors='strict'):

This function takes an open file handle using one encoding and wraps it with a class that translates the data to another encoding as the I/O occurs.
It returns a StreamRecoder instance, a wrapped version of the file which provides the transparent transcoding. The original file is closed when the wrapped version is closed. All the data written to the wrapped file id decoded according to the given 'data_encoding' and then written to the original file as bytes using file_encoding. Bytes read from the original file are decoded according to the file_encoding, and the result is encoded using data_encoding. If the file_encoding is not provided then the file encoding defaults to the data_encoding. The errors are to defining the error handling and it defaults to 'strict', which causes ValueError to be raised in case an encoding error occurs.

      


More Articles of Arkaja Sharan:

Name Views Likes
Python codecs Library Error Handling schemes module functions 96 0
Python codecs Library Error Handler register_error and lookup_error functions 91 0
Python codecs Library Error Handlers 96 0
Python codecs Library open and EncodedFile functions 82 0
Python codecs Library iterencode and iterdecode functions 106 0
Python codecs Library register and unregister functions 79 0
Python codecs Library getreader and getwriter functions 91 0
Python codecs Library getincrementalencoder and getincrementaldecoder 75 0
Python codecs Library getencoder and getdecoder functions 84 0
Python Introduction to codecs Library 110 0
Python fcntl Library flock and lockf functions 95 0
Python fcntl Library fcntl and ioctl functions 112 0
Python Resource Library resource usage functions 103 0
Python Resource Library resource usage symbolic constants 83 0
Python Resource Library Resource Limit Functions 97 0
Python resource library resource limit symbolic constants 97 0
Python Introduction to Resource Library 81 0
Python stringprep Library in_table_d1 and in_table_d2 functions 88 0
Python stringprep Library in_table_c8 and in_table_c9 functions 92 0
Python stringprep Library in_table_c5 in_table_c6 and in_table_c7 functions 81 0
Python stringprep Library in_table_c3 and in_table_c4 functions 88 0
Python stringprep library in_table_c21 in_table_c22 and in_table_c21_c22 89 0
Python stringprep library functions in_table_c11 in_table_c12 and in_table_c11_c12 89 0
Python Introduction to stringprep Library 93 0
Python unicodedata library is_normalized unidata_version and ucd_3_2_0 85 0
Python Unicodedata Library functions normalize and decomposition 148 0
Python Unicodedata Library functions east_asian_width and mirrored 94 1
Python Unicodedata Library category bidirectional and combining functions 131 0
Introduction to Unicodedata library lookup and name functions 87 0
Unicode Library decimal digit and numeric functions 91 0
Introduction to Unicode Data library 0 0

Comments