How to open a file in Python?

Files are an important part of building useful programs in any programming language, therefore a good developer should be able to handle files in their programs.

 

Python file opening methods

Python provides two ways of opening files. The first method is by use of the open() function, however, this may not be the best way of opening files. The second and most preferred way is the use of the context manager.

The context manager automatically closes files once we are done working on them as opposed to using the open function. In this article, we will explore how to open the three major file formats used in programming i.e text, CSV and JSON file formats.

 

python file open

Opening Text Files Using the Context Manager

Now to open a text file using the context manager we will use the word with open followed by a pair of parentheses. This is going to let us open a file within the context manager.

There are two major modes of opening a file and this can be either in reading or write mode. However, there are other modes that can be used during Python file opening such as the binary mode or the append mode.

In this case, since we intend to open the text file in reading mode therefore we are going to use ‘r’ to denote this.

Now inside the parentheses, we need to specify two parameters: the name of the file we are opening together with its extension and the mode that we may want to open the file. Both of these parameters should be under quotation marks.

Now we need to open the file as something – the standard is f -, but we can use whatever variable makes sense. Finally, we can just read this data so that we can go ahead and print it if we so wish. Since in this case, we are going to print out all the contents of the text file to the terminal.

 

 

If we want to be able to access the file even outside the scope of the context manager we need to save the text that we have read into a variable.

 

Opening CSV Files – Python File Opening

To work with CSV files in Python we need to import the CSV module into the current Python workspace. 

And now once we import the CSV module we will do almost the same thing as we did when importing the text file. However, we need to create a CSV reader object in order to be able to iterate over every line of the CSV file.

In this case, we are going to the object reader is equal to reader.csv(). We can now iterate over the object to get the data. 

 

python file open

 

Using a for loop we can just say the for a row in the reader object print the row.

So this is going to open the CSV file and create a new iterable object named reader and using the for loop we are going to iterate over all the rows in the CSV file and return a list object as the output.

 

 

Now that we know that we have a list object we can perform different actions on the list object. For instance, we can create a list of lists with the data that we have.

We can simply do that by creating an empty list called new_list at the top of the code and then appending all the elements that we iterate over in the CSV file using the new_list.append() method. This is going to create a list nested within another list.

 

Opening JSON Files – Python File Opening

JSON is an acronym for JavaScript Object Notation which is a lightweight data-interchange format that is easily readable by human beings and widely used on the web. Now Python usually turns a JSON file into a list of dictionaries.

When we import a file of this format in Python we are going to have a list of dictionaries therefore we can access the data within it using keys.

Now in order to use a JSON file in Python, we need to import the JSON module which is a built-in core Python module therefore we need not import anything else.

Using the context manager we are going to open the JSON file. In a similar manner as before we would use the keywords with open followed by the name of the JSON file in the parentheses and the mode of opening the file.

 

python file open

 

In the indent line, we are going to create a variable named data that is going to store the JSON object.

We need to use json.load()  when opening a JSON file instead of json.loads() which represents a load string since in this case, our intention is to basically open the file.

 

 

Since this is a list of dictionaries, we can actually index anything that we want from the list. We are going to print out the first entry in the list whose index is zero as shown below.

 

 

If you’d like to see more programming tutorials, check out our Youtube channel, where we have plenty of Python video tutorials in English.

In our Python Programming Tutorials series, you’ll find useful materials which will help you improve your programming skills and speed up the learning process.

Would you like to learn how to code, online? Come and try our first 25 lessons for free at the CodeBerry Programming School.

Learn to code and change your career!

100% ONLINE

IDEAL FOR BEGINNERS

SUPPORTIVE COMMUNITY

SELF-PACED LEARNING

Not sure if programming is for you? With CodeBerry you’ll like it.