Create an empty file using Python

File handling is a very important concept for any programmer. It can be used for creating, deleting, moving files or to store application data, user configurations, videos, images, etc. Python too supports file handling and allows users to handle files i.e., to read and write files, along with many other file handling options, to operate on files.

Refer to the following articles to check the basics of file handling.

Creating an empty file

File handling can also be used for creating a file. Even the file with different extension like .pdf, .txt, .jpeg can be created using file handling in Python. To create a file, the file must be open for writing. To open a file for writing access mode of file must be w, a, w+, a+. Access modes govern the type of operations possible in the opened file. It refers to how the file will be used once it’s opened. Below is the list of access modes for creating an empty file.

  • Write Only (‘w’): Open the file for writing. For an existing file, the data is truncated and over-written.
  • Write and Read (‘w+’): Open the file for reading and writing. For an existing file, data is truncated and over-written.
  • Append Only (‘a’): Open the file for writing. The data being written will be inserted at the end, after the existing data.
  • Append and Read (‘a+’): Open the file for reading and writing. The data being written will be inserted at the end, after the existing data.

Note: The file is created in the same directory of the script if no path is specified.

Example #1: In this example we will create a new file myfile.txt. To verify this we will use os.listdir() method of os module to list out the directories before and after creating a new file.



filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to demonstrate
# creating a new file
  
  
# importing module
import os
  
# path of the current script
path = 'D:/Pycharm projects/gfg'
  
# Before creating
dir_list = os.listdir(path) 
print("List of directories and files before creation:")
print(dir_list)
print()
  
# Creates a new file
with open('myfile.txt', 'w') as fp:
    pass
    # To write data to new file uncomment
    # this fp.write("New file created")
  
# After creating 
dir_list = os.listdir(path)
print("List of directories and files after creation:")
print(dir_list)

chevron_right


Output:

List of directories and files before creation:
['.idea', 'gfg.py', 'venv']

List of directories and files after creation:
['.idea', 'gfg.py', 'myfile.txt', 'venv']

# Example 2: Creating a new file at a specified location. For creating a file at a specified location os module is used. Below is the implementation.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to demonstrate
# creation of new file
  
  
import os
  
# Specify the path
path = 'D:/Pycharm projects/GeeksforGeeks/Nikhil'
  
# Specify the file name
file = 'myfile.txt'
  
# Before creating
dir_list = os.listdir(path) 
print("List of directories and files before creation:")
print(dir_list)
print()
  
# Creating a file at specified location
with open(os.path.join(path, file), 'w') as fp:
    pass
    # To write data to new file uncomment
    # this fp.write("New file created")
  
# After creating 
dir_list = os.listdir(path)
print("List of directories and files after creation:")
print(dir_list)

chevron_right


Output:

List of directories and files before creation:
['test_nikhil.txt']

List of directories and files after creation:
['myfile.txt', 'test_nikhil.txt']



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : DanielTinsley

Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.