File Handling In Python
Jul 06, 2019
File Handling In Python,
3323 Views
In this article, we'll learn file handling in Python. And in this article I will cover all operations which we can perform on a file.
Python is the most popular language in the world. In this article I will tell you file handling in Python and how to perform many operations with files. In this article, I've covered teh following topics:
1.What is a file?
2. What is file handling in Python?
3. Types of files
4. Handling operation on files
5. Python file methods
6. How to open files in Python
7. How to read files in Python
8. How to write files in Python
9. How to append files in Python
If you're new to Python, please go through the below articles.
- What is Python?
- How to Install Python?
- How to Run Python using IDLE IDE
- Project Structure of Angular 2,4,5 or 6
- Search Data in ASP.NET using jQuery
- C# Coding Standard and Naming Convention
- Google launch new mobile app which is called flutter
Let's explore each and every one, one by one.
What is a file?
It is a container of user information and stores data permanently. It is is located on the computer's hard drive, which is non-volatile memory in nature.
What is file handling in Python?
Python provides inbuilt functionaly to work with files including open files, read and write files, and manipulate files. The process of working with files is called file handling.
File handling concepts of Python is easy to learn and understand. Each and every line of a file is terminated with a special character which is called End of Line (EOL) like “,","-","\n" and so on.
Type of files in Python.
These are the two types of files in Python we will focus in this tutorial.
- Text file
- Binary file
Text file
Text files contains plain text and does not contains encoded data and can be opened in any text editor. Text files are stored in a human-readable format (usually ASCII).
Example
txt, rtf, csv, tsv, js, java,c, html, xml, json, css etc.
Binary files
It is a special type of file which is used by computer system in the form of computer-readable form, not human readable. The content of binary files are 0s and 1s that made instructions read by the computers. All executable programs are stored in binary files. Binary files are very smaller that a text files.
In this article we will see only File Operation on Text Files.
File handling operation on text file:
The 6 common operations we usually perform on text files are the following:
- Open a text file
- Read a text file
- Write to a text file
- Close a text file
- Rename a text file
- Delete a text file
Example:
Working with a file in Python is no different than we use a physical file or a diary in our daily lives. First, we grab the file from its location, open the file, read or write to it or remove something, and then we close it. Same concept applies to digital files.
Open a file in Python:
Python has an in-built function called open () to open a text file in Python.
Syntax
openfile_object = open(fiename, mode)
Note:
The filename is the location of the fiel or the name of file (with extension) that we want to open.
A file can be opended for a specific operation or operations that is managed by using file modes. Python provides different types of modes. They are as given below.
- ‘r' – Read Mode: This mode is used for read data from the files.
- ‘w' – Write Mode: This mode is used for write data into the file or modify it. Write mode always overwrites the data into the files.
- ‘a' – Append Mode: This mode is used to append data to the file. Append mode will always append the data into the EOF (End of File).
- ‘r+' – Read or Write Mode: This mode is used to read or write the data from the same file.
- ‘a+' – Append or Read Mode: This mode is used to read data from the file or append the data into the same file.
Let’s start,
Step 1. First, let's create a sample text file with the name of “PythonText.txt” as shown below. You can create the text file in Notepad and save it.
Step 2. Create a python file with name “test.py” in your python editor or any IDE you're using to write Python programs.
Step 3. Open text file (PythonText.txt) with read-only mode (r).
Python provides 3 function to read the content of the file. They are as given below.
- Read (): This function reads whole content of the file.
- Read(size): This function reads specific number of sizes starting from the files.
- Readline (): This function reads a single line from the file with newline at the end
- Readlines (): This function returns a list containing all the lines in the file.
- Read(): This function is used to read whole file at a time.
Let's explore one by one.
Read ():
This function reads whole content of the file
Code:
- read_file= open("E:\AmitTutorial\Python\Filehandling\PythonText.txt","r")
- print(read_file.read())
Output:
If we want to print specific number of characters from the file then use below code.
Read(size):
This function reads specific number of sizes from the beginning of the file.
Syntax:
read (number of characters)
Code:
- read_file= open("E:\AmitTutorial\Python\Filehandling\PythonText.txt","r")
- print(read_file.read(22))
Output:
Readline():
This function reads a single line from the file with newline at the end.
Code:
- read_file= open("E:\AmitTutorial\Python\Filehandling\PythonText.txt","r")
- print(read_file.readline())
Output:
Readlines():
This function returns a list containing all the lines in the file.
Syntax:
readlines()
Code:
- read_file= open("E:\AmitTutorial\Python\Filehandling\PythonText.txt","r")
- print(read_file.readlines())
How to read specific row from the filles:
Code:
line_number = eval (input("Enter number of line for read: "))
read_file= open("E:\AmitTutorial\Python\Filehandling\PythonText.txt","r")
start_line=1
for file_lines in read_file:
if start_line==line_number:
print(file_lines)
break
else:
start_line =start_line + 1
If user enter line number 1.
Output:
How to write text file in Python:
There are 2 ways to write text to file in Python.
Write single line to text file in Python
You can create a new file or wtite to an existing file. The write operations are controlled by the write file mode. If you want to create and write to a new file, with “w” (open) mode. The “w” mode will delete any previous existing file content and create a new file to write.
Code:
line =input("Enter text for write in the file: ")
read_file= open("E:\AmitTutorial\Python\Filehandling\PythonText.txt","w")
# write a line to output file
read_file.write(line)
read_file.write("\n")
read_file.close()
Before execute the command, you can see in our file that already contains some text.
After executing the code.
As you can see, we have multiple lines on the previous file. But after execiting the code, old content is deleted and new content is written to the file. See our new file's content:
Output
Write multiple lines in a text file:
Code:
txtList = ["One-1", "Two-2", "Three-3", "Four-4", "Five-5"]
Now write this value into the existing file (PythonText.Text).
Open the file with append mode and use the following code.
read_file= open("E:\AmitTutorial\Python\Filehandling\PythonText.txt","a")
# write a line to output file
txtList = ["One-1", "Two-2", "Three-3", "Four-4", "Five-5"]
for line in txtList:
# write line to output file
read_file.write(line)
read_file.write("\n")
read_file.close()
Output
Append text into file in Python:
To append a file, we must open file in ‘a+’ mode so that we will have access to both the append as well as write modes.
Code
read_file= open("E:\AmitTutorial\Python\Filehandling\PythonText.txt","a")
Here I have opened file in the a+ mode that means append and write mode.
Code
read_file= open("E:\AmitTutorial\Python\Filehandling\PythonText.txt","a+")
read_file.write("Six-6")
read_file.write("\n")
read_file.close()
Output
File rename in Python:
Python provides an “os” module, which contains some in-built methods for performing other file operations.
rename():
This function is used for rename a file.
This rename() method accepts two arguments. The first argument is the original file with its location and the second is the new file with its location.
Syntax:
os.rename(current_file_name, new_file_name)
example:
- import os
- os.rename("E:\AmitTutorial\Python\Filehandling\PythonText.txt", "E:\AmitTutorial\Python\Filehandling\PythonTextfile.txt")
Output
In this article we learned file operations on text files. I will cover file handling operations on binary files in next article.
I hope you liked this article.