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.
# 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) |
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.
# Python program to demonstrate # creation of new file import os # Specify the path path = 'D:/Pycharm projects/Lazyroar/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) |
Output:
List of directories and files before creation: ['test_nikhil.txt'] List of directories and files after creation: ['myfile.txt', 'test_nikhil.txt']