Skip to main content

Posts

Showing posts with the label read

Python — With Statement — A Context Manager

🐍 When you open a file, you are required to close it too. If between your open statement and close statement there are n other statements, and in any of the statement an error occurs, your program won't reach the point to close the file. It will remian opened. Try this to understand the issue. Input f = open('some_file.txt', 'a') f.readlines() f.close() Output UnsupportedOperation Error Input f.write('add more text to test if file is open') Output 37 The above example shows that at line 2 an error occurred and the program didn't reach line 3 to close the file. Later we wrote something to the file and it worked, which means the file is still open. Run the close statement again to close it. Input f.close() Protect the file with try/except/finally One solution to this is use of try/except/finally statements as follows. Input f.open('some_file.txt', 'a') try: f.readlines() except: print('An exception was raised.') finally: ...

Python - StringIO - Treat Text Like File

🐍 At times we need a file to run a code. Python allows you to treat a text/string like a file for that purpose. It is not really a file, but it lets you treat it that way. You need a module called StringIO for it. Use Jupyter Notebooks to run the following code. StringIO Let's begin by importing StringIO import io Next, we create a string and store it in a variable. message = 'This is just a normal string.' Let's apply StringIO magic to it and make it look like a file. f = io.StringIO(message) Now, we can do all file operations on it. Like read f.read() Output: 'This is just a normal string.' Like Write f.write(' Second line written to file like object') Output: 40 Like moving cursor to a location in the file f.seek(0) Output: 0 Like read again f.read() Output: 'This is just a normal string. Second line written to file like object' Like closing the file f.close() After closing 'f' cannot carry out the file functions.