DEV Community

Cover image for Python read and write files
Chris Bongers
Chris Bongers

Posted on • Originally published at daily-dev-tips.com

Python read and write files

There are many great use-cases to read and write data to a local file.
It might be for crawling purposes, price checks, logs, or whatnot.

Today I'll be exploring the basics of reading and writing data to a file in Python.

Read files in Python

The first part of file interaction would be to read data from an existing file.

Let's create a basic txt file called text.txt at the root of our project.

Hi there

How cool of you to try and read me
Hope you have fun
Enter fullscreen mode Exit fullscreen mode

To read this file in Python, we can use the open() function built into Python.

After opening the file, we can use the file.read() function to see what's in it.

file = open('test.txt', 'r')
print(file.read())
Enter fullscreen mode Exit fullscreen mode

This will print the exact content of our file.

Write data to a file in Python

Now that we know how to read a file let's see how we can write data to that same file.

There are two options when we open a file for writing.

  • a: Append data to the existing file
  • w: Write, this option will overwrite any existing content

Let's first try the append option:

file = open('test.txt', 'a')
file.write("I'm an extra line of content")
file.close()
Enter fullscreen mode Exit fullscreen mode

If we now check our file, it shows:

Hi there

How cool of you to try and read me
Hope you have fun
I'm an extra line of content
Enter fullscreen mode Exit fullscreen mode

Now let's use the write function and see what happens.

file = open('test.txt', 'w')
file.write("I have new content now")
file.close()
Enter fullscreen mode Exit fullscreen mode

Checking the file now shows us:

I have new content now
Enter fullscreen mode Exit fullscreen mode

As you can see, the old content is gone now.
So choose wisely which of the two options you wish to use.

Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on Facebook or Twitter

Top comments (0)