How to Save a File in Python

Python is a versatile language that you can use on the backend, frontend, or full stack of a web application. In this post, we’ll show you how to save a file in Python.

Checkout this video:


Saving a file in Python is very easy. All you need to do is use the built-in open() function. The syntax for open() is as follows:

open(filename, mode)

The filename is the name of the file you want to save. The mode is optional and can be ‘w’ for write, ‘a’ for append, or ‘r+’ for read/write. If you don’t specify a mode, Python will default to ‘r’ (read only).

Saving Files

In Python, it is very easy to save a file. The syntax is simple and straightforward. To save a file, use the save() method. The first argument is the file path and the second argument is the data you want to write to the file.

Here is an example:

file_path = ‘/Users/johndoe/Documents/myfile.txt’
data = ‘This is my file data’

save(file_path, data)

The open() Function

The open() function is the key to saving files in Python. This function takes two arguments, the first is the name of the file you want to create and the second is the mode in which you want to open the file. The mode argument tells Python how you intend to use the file.

The most common way to use the open() function is to specify two arguments: The name of the file you want to create and the mode in which you want to open it. The mode argument can be one of four values: “r” for reading, “w” for writing, “a” for appending, or “b” for binary mode. For example, if you want to open a text file for reading, you would use this syntax:

file = open(“filename.txt”, “r”)
If you wanted to create a new text file and write to it, you would use this syntax:

file = open(“filename.txt”, “w”)

The write() Function

Python provides numerous built-in functions such as write() function. The write() function writes a string str to the file. The given string is encoded using the specified encoding.If no encoding is specified, the default is platform dependent (see open()).

If the file uses an encoding such as UTF-8 that supports multiple bytes per character, write() will not split multibyte characters. Use writelines() if you want to write strings that are not necessarily line endings.

The close() Function

Python offers a number of ways to close a file. The close() function is the most common way to close a file. It takes an argument of the file object to be closed. The syntax is as follows:


You can also use the with keyword to ensure that the file is properly closed after you are done with it. The with keyword automatically closes the file when it goes out of scope. The syntax for using with is as follows:

with open(“filename”, “mode”) as file_object:

# Statements go here

Saving to a File in Binary Mode

Use the open() function with mode=’wb’ or ‘w+b’ to create a new file in binary mode. Then call the write() or writelines() method to write data to the file.

When you’re done writing data to the file, call the close() method to close it and free up any resources that were associated with it.

Here’s an example of how you would write binary data to a new file:

>>> f = open(‘binaryfile.bin’, ‘wb’) # wb is for write in binary mode
>>> f.write(b’Hello, world!’) # b means that it’s a byte literal, not a string literal
>>> f.close()

The pickle Module

The pickle module is used to store Python objects in a file. The pickle module can be used to save classes, such as those created in the previous section, in a file. Once saved, the objects can be reloaded into memory and used as if they had never been removed. To save an object using pickle, use the following code:

The shelve Module

Python’s shelve module is a powerful tool for saving objects to a disk file, and then loading them back into memory. It is similar to the pickle module, but has a number of advantages, including being faster and not requiring as much overhead.

The most important difference between pickle and shelve is that pickle saves your objects in a single file, while shelve saves your objects in a directory of files. This has two implications: first, you can save multiple objects to a shelve file without having to stuff them all into a single pickle; second, you can access the individual objects in a shelve file without having to load the entire shelve into memory (which can be important when working with large objects).

When working with shelves, you create an instance of the Shelf class. You can think of this as being similar to creating a dictionary:
import shelve
s =‘test_shelf’)
s[‘key1’] = { ‘int’: 10, ‘float’:9.5, ‘string’:’Sample data’ }
finally: # <- This ensures that the changes we have made get written back s.close() # properly even if the program crashes while we are working with it. # The "with" statement would do this for us automatically, but # we want to be sure that our changes get written regardless of # whether or not there are any problems along the way.

Saving to a CSV File

It is possible to save data from a Python program into a CSV (Comma Separated Values) file. This can be done using the csv module, which comes built-in to Python.

The module has a number of functions that allow you to manipulate CSV files. In order to use these functions, you will need to import the module.

Once the module is imported, you can use the functions within it to read and write CSV files.

In order to save data to a CSV file, you will need to use the writer() function. This function takes two arguments: the name of the file to write to, and a list of values to write.

Each value in the list will be written to a separate line in the file. For example:

my_list = [1,2,3]

with open(‘filename.csv’, ‘w’) as f:
writer = csv.writer(f)

Saving to an Excel File

If you want to output the results of your Python program to an Excel spreadsheet, you can use the openpyxl module. The openpyxl module allows you to create and manipulate Excel files.

To save a file in the Excel format, you can use the save() method. This method takes two arguments:

The first argument is the path of the file that you want to save.
The second argument is the sheet name. You can optionally provide a third argument, which is a dictionary of keyword arguments.
Here’s an example:

import openpyxl

wb = openpyxl.Workbook()
ws =

ws[‘A1’] = ‘This is cell A1’‘output_file.xlsx’)

Scroll to Top