Python Program to Write to a File

Introduction

Writing to files is a common task in Python programming, particularly for tasks such as logging, data storage, or generating reports. Python provides built-in functions to easily write data to files. This tutorial will guide you through creating a Python program that writes data to a file.

Example:

  • File Name: output.txt

  • Data to Write:

    Hello, World!
    This is a sample text written to the file.
    
  • Program Output:

    • The file output.txt should contain the above text.

Problem Statement

Create a Python program that:

  • Opens a file for writing.
  • Writes a specified string or multiple lines of text to the file.
  • Closes the file after writing.

Solution Steps

  1. Specify the File Name: Provide the name of the file to which data will be written.
  2. Open the File: Use the open() function to open the file in write mode.
  3. Write Data to the File: Use the write() or writelines() method to write data to the file.
  4. Close the File: Ensure the file is properly closed after writing.

Python Program

# Python Program to Write to a File
# Author: https://www.rameshfadatare.com/

# Step 1: Specify the file name
file_name = "output.txt"

# Step 2: Open the file in write mode
try:
    with open(file_name, "w") as file:
        # Step 3: Write data to the file
        file.write("Hello, World!\n")
        file.write("This is a sample text written to the file.\n")
        
        # Optionally, you can write multiple lines at once using writelines()
        lines = [
            "Line 1: Writing to a file in Python is easy.\n",
            "Line 2: Just use the write() or writelines() methods.\n"
        ]
        file.writelines(lines)
        
    # File is automatically closed after exiting the with block
    print(f"Data successfully written to '{file_name}'.")
    
except IOError:
    print(f"An error occurred while writing to the file '{file_name}'.")

Explanation

Step 1: Specify the File Name

  • The variable file_name is assigned the name of the file to which the data will be written. If the file does not exist, Python will create it. If it does exist, opening the file in write mode ("w") will overwrite the existing content.

Step 2: Open the File in Write Mode

  • The open() function is used to open the file in write mode ("w"). The with statement ensures that the file is automatically closed after writing, even if an error occurs.

Step 3: Write Data to the File

  • The write() method is used to write a string to the file. The newline character (\n) is added to move to the next line.
  • The writelines() method can be used to write a list of strings to the file, where each string represents a line.

Step 4: Close the File

  • The file is automatically closed when exiting the with block. This is important to ensure that all data is properly saved and that the file is not left open.

Step 5: Handle Exceptions

  • The program includes exception handling using a try-except block to catch and handle any errors that may occur while writing to the file, such as IOError.

Output Example

Example Output (Program Console):

Data successfully written to 'output.txt'.

Example File Content (output.txt):

Hello, World!
This is a sample text written to the file.
Line 1: Writing to a file in Python is easy.
Line 2: Just use the write() or writelines() methods.

Additional Examples

Example 1: Appending Data to a File

# Appending data to a file
file_name = "output.txt"

try:
    with open(file_name, "a") as file:  # "a" mode is for appending
        file.write("This line is appended to the file.\n")
    print(f"Data successfully appended to '{file_name}'.")
    
except IOError:
    print(f"An error occurred while appending to the file '{file_name}'.")

Output:

Data successfully appended to 'output.txt'.

Example 2: Writing Data from User Input to a File

# Writing user input to a file
file_name = "user_input.txt"

try:
    with open(file_name, "w") as file:
        while True:
            user_input = input("Enter text to write to the file (or type 'exit' to finish): ")
            if user_input.lower() == 'exit':
                break
            file.write(user_input + "\n")
    print(f"User input successfully written to '{file_name}'.")
    
except IOError:
    print(f"An error occurred while writing to the file '{file_name}'.")

Output:

  • User enters text, and it is written to user_input.txt until they type ‘exit’.

Example 3: Writing a List of Numbers to a File

# Writing a list of numbers to a file
file_name = "numbers.txt"

try:
    with open(file_name, "w") as file:
        numbers = [1, 2, 3, 4, 5]
        for number in numbers:
            file.write(f"Number: {number}\n")
    print(f"Numbers successfully written to '{file_name}'.")
    
except IOError:
    print(f"An error occurred while writing to the file '{file_name}'.")

Output:

Numbers successfully written to 'numbers.txt'.

Example File Content (numbers.txt):

Number: 1
Number: 2
Number: 3
Number: 4
Number: 5

Conclusion

This Python program demonstrates how to write data to a file using the open(), write(), and writelines() methods. The program also includes exception handling to manage errors that may occur during file operations, making it robust for real-world applications. Understanding file handling is essential for tasks involving data storage, logging, or generating reports in Python.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top