Python File Writing Tutorial – Complete Guide

Welcome to this comprehensive tutorial on Python file writing. Understanding how Python interacts with files can unlock a range of possibilities, from simple games to robust data analysis projects. By learning to open, write to, and close files within Python, you can harness the power of storing information across sessions and sharing data between programs.

What Does Python File Writing Entail?

When we talk about file writing in Python, it involves creating a new file or modifying existing ones, right from your Python script. Writing files enables you to store data generated by your Python programs, whether it’s game scores, user information, or analyzed data points.

Why Should You Learn Python File Writing?

Here’s why learning Python File Writing should be on your roadmap:

  • It enables persistent data storage so that your application remembers information between sessions
  • It facilitates data sharing between different applications
  • It’s essential for area-specific coding like data science where writing and reading files is a regular operation
  • It enhances the versatility of your Python skillset

Understanding how to write files in Python is a critical step in becoming a proficient programmer. Many real-world applications, from simple text-based games to complex machine learning algorithms, rely on the ability to write, read, and manage files. Additionally, learning to effectively handle files in Python also opens doors to a multitude of projects and industries, from game development to data science.

Let’s begin our exciting journey of learning Python file writing.

CTA Small Image

Basic File Writing Operations in Python

Lucky for us, Python makes file management tasks like creating, writing and reading to/from files easy and straightforward. Let’s explore the basics:

Creating a New File and Writing Text

Let’s start with creating a new file and writing some text into it. Python comes equipped with a handy open() function for this purpose.

file = open("example.txt", "w")
file.write("Welcome to Zenva Academy!")

The ‘w’ mode opens the file for writing. If the file doesn’t exist, Python will create it for you. It’s important to remember to close the file using file.close() after you’ve finished writing.

Writing Multiple Lines

Let’s move on to writing multiple lines of text into a file.

file = open("multi_line_example.txt", "w")
file.write("Welcome to Zenva Academy!\n")
file.write("We love coding!")

As you might have noticed, we are using the newline character \n to create a new line.

Advanced File Writing Operations in Python

Now that we have covered basics, let’s take a step further by writing structured data, appending to existing files, and more.

Writing Structured Data

Often times, you’ll want to store structured data like lists in a text file. Python’s join() function is useful here.

file = open("list_example.txt", "w")
my_list = ['apple', 'banana', 'mango']

This code writes each fruit from my_list on a new line in the file ‘list_example.txt’.

Appending to an Existing File

Let’s learn how to append to an existing file without overwriting it. For this we will use ‘a’ mode instead of ‘w’.

file = open("example.txt", "a")
file.write("\nLet's learn to code!")

This code opens the ‘example.txt’ file in append mode and adds a new line of text.

Using ‘with’ Statement for File Writing

The ‘with’ statement in Python is a neat way to work with files as it automatically takes care of closing the file once the operations are done, even if errors occur within the block.

with open("with_example.txt", "w") as file:
    file.write("Coding is fun with Zenva Academy!")

In this example, you don’t need to call file.close() after writing to the file. Python will take care of this for you.

More Advanced Python File Writing Techniques

Now that we’ve covered basic and intermediate techniques, let’s explore even more advanced operations involving Python file writing.

Writing JSON Data

To handle complex structures like dictionaries or nested lists, we can use a data-interchange format called JSON. Python’s json module easily converts Python objects into JSON string representation.

import json
data = {
    'name': 'Zenva',
    'courses': ['Python', 'JavaScript', 'Unity']

with open("data_file.json", "w") as file:
    json.dump(data, file)

This code writes the ‘data’ dictionary to a file in JSON format.

Writing CSV Files

Python’s built-in ‘csv’ module provides functionalities to write data to CSV files, which is useful when dealing with structured tabular data.

import csv
with open('data_file.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(["Name", "Course", "Rating"])
    writer.writerow(["Zenva", "Python", "5"])

This code creates a CSV file ‘data_file.csv’ with specified data rows.

Writing Files in Binary Mode

It’s also possible to write binary data to files using Python. For this, we use ‘wb’ mode (‘w’ for writing and ‘b’ for binary).

with open('binary_file.bin', 'wb') as file:
    file.write(b'Hello Zenva Academy!')

In this code, ‘b’ before the string is used to convert the text into bytes, which is then written to a binary file.

Writing Files Using pathlib Library

Python’s pathlib is an object-oriented library which provides a more intuitive method to handle filesystem paths. This includes a write_text method for files.

from pathlib import Path
Path('pathlib_file.txt').write_text('Hurray! You made it to the end!')

The write_text() method writes a string to a file, automatically closing the file once done.

Congratulations! You now possess an arsenal of file writing techniques in Python. With these skills, you’re fully equipped to take on large data processing tasks, handle complex file operations, and enrich your programs with persistent data handling.

Your Next Step in Your Python Learning Journey

You’ve taken your first steps into Python file writing and opened up a world of opportunities to create, manage and manipulate data. While there is always more to learn, the skills you’ve already acquired have set the foundation for your programming journey.

One of the best ways to further progress is by participating in our comprehensive Python Mini-Degree program. This curriculum covers everything from coding basics to sophisticated algorithms, object-oriented programming, game development, and app development. The Python Mini-Degree offers some exceptional benefits:

  • It’s comprehensive: From basics to advanced topics, this degree offers a complete learning package.
  • Flexible Access: The courses can be easily accessed anytime and anywhere, offering great flexibility.
  • Real-World Projects: You could be creating games, apps, and other real-world projects.
  • Support and Mentoring: Expert mentors support your journey and are available for your assistance.
  • Community: Join the Zenva Academy community of over 1 million learners and developers getting real results with their skills.
  • Regularly updated: Our content is constantly updated to keep up with industry trends and developments.

Apart from Python Mini-Degree, we also offer a wide range of Python courses that cater to all levels and interests. With Zenva, you can go from being a coding novice to becoming a professional programmer.


Now that you’ve explored the potentials of Python file writing, it’s time to put these skills into practice. We encourage you to continue writing code, manipulating data, and above all, keep expanding your learning. Show the world your ability to handle complex data structures, manage data persistency, and manipulate files – skills that can set you apart in today’s tech era!

Savor the experience of reading, writing, and managing files in Python, and use this as a stepping stone to broader horizons. To take your Python skills to the next level, don’t forget to explore our all-encompassing Python Mini-Degree program. With Zenva, your journey from beginner to pro becomes a breeze with our practical, project-based approach and supporting mentors. Happy coding!

Did you come across any errors in this tutorial? Please let us know by completing this form and we’ll look into it!

Python Blog Image

FINAL DAYS: Unlock coding courses in Unity, Godot, Unreal, Python and more.