In Python, you can write to a text file by following these three steps:
- Open a file using the open() function.
- Write to the file using the write() method.
- Close the file using the close() method.
You can skip the last step by using the with statement.
with open("example.txt", "w") as f: f.write("Hello world!")
This piece of code creates a new file called example.txt and writes “Hello World” into it.
In this guide, you are going to learn the basics of writing to a file in Python.
Python How to Write to a File in Detail
To write to a file in Python, use these three steps:
- Open a text file with the open() function.
- Write text to the opened file with the write() method.
- Finally, close the file using the close() method. Another options is to use the with statement that automatically closes the file for you. In this guide, I’m going to use the with statement.
The syntax for the open() function is as follows:
- path_to_a_file is the path to the file you want to open. If no file is found, a new one is created.
modespecifies in which state you want to open the file. Use the mode ‘w’ to write to the file and ‘a’ to append to a file (add text to the end of the file).
The open() function returns a file object. This file object has two useful methods for writing text to the file:
- write() that writes a single string to the text file.
- writelines() that writes a list of strings to the file (or any other iterable, such as a tuple or set of strings).
Let’s see how to use these file-writing methods.
The write() Method in Python
The write() method takes a string argument. It writes this argument into the opened file.
For example, let’s create a list of strings and use the write() method to write each of the strings into the file using a for loop:
words = ["This ", "is ", "a ", "test"] with open("example.txt", "w") as f: for word in words: f.write(word)
As a result, a file called example.txt is created with the following content:
This is a test
Notice how each string is written to the same line by default.
If you want to have each word appear on a separate line, write the line break character ‘\n’ after writing a string to the file.
words = ["This", "is", "a", "test"] with open("example.txt", "w") as f: for word in words: f.write(word) f.write("\n")
In the example.txt file the result looks like this:
This is a test
This is one way to write into a file.
But in the case of multiple strings, you can use the writelines() method to write them all into a file on the same go.
The writelines() Method in Python
The writelines() function takes an iterable object, such as a list, that contains strings to be written into the opened file.
For example, let’s repeat the above example using the writelines() method:
words = ["This ", "is ", "a ", "test"] with open("example.txt", "w") as f: f.writelines(words)
After running this piece of code, the example.txt file looks like this:
This is a test
Now you know how to write text to a file in Python.
Next, let’s take a look at how to add text at the end of an already-existing text file.
How to Append to a File in Python
To add text at the end of a file after the existing lines of text, use the write mode ‘a’.
This mode is called the appending mode. Appending means adding to the end of something.
# Let's first write to a file with open("example2.txt", "w") as f: f.write("This is ") # Then let's reopen the file and append some text to it: with open("example2.txt", "a") as f: f.write("just another test.")
Here the result is a file called example2.txt with the following contents:
This is just another test.
As you can see, the last bits of text were successfully added to the end of the text file.
Today you learned how to write a file in Python.
To recap, to write a file, follow these three steps:
- Open the file with the open() function.
- Write to the file using either write() or writelines() method.
- Always close the file after writing. You can do this with the close() method or by using the with statement that automatically closes the file after writing.
Thanks for reading.
- 10 Python Snippets to Code Like a Pro
- Common For Loop Examples in Python
- 4 Ways to Find the Size of a File in Python
About the Author
- I'm an entrepreneur and a blogger from Finland. My goal is to make coding and tech easier for you with comprehensive guides and reviews.
- Artificial Intelligence2023.03.14Best AI Tools of 2023 (Save Time & Boost Productivity)