Python File Open
File Handling
The key function for working with files in Python is the open()
function.
The open()
function takes two parameters;
, and
mode.
There are four different methods (modes) for opening a file:
"r" - Read - Default value. Opens a file for reading, error if the file does not exist "a" - Append - Opens a file for appending, creates the file if it does not exist "w" - Write - Opens a file for writing, creates the file if it does not exist "x" - Create - Creates the specified file, returns an error if the file exists
In addition you can specify if the file should be handled as binary or text mode
"t" - Text - Default value. Text mode "b" - Binary - Binary mode (e.g. images)
Syntax
#To open a file for reading it is enough to specify the name of the file: f = open("demofile.txt") #The code above is the same as: f = open("demofile.txt", "rt") #Because "r" for read, and "t" for text are the default values, #you do not need to specify them.
Python File Read
Open a File on the Server
Asume we have the following file, located in the same folder as Python:
Hello! Welcome to demofile.txt This file is for testing purposes. Good Luck!
To open the file, use the built-in open()
function.
The open()
function returns a file object, which has a read()
method for reading the content of the file:
Read Only Parts of the File
By default the read()
method returns the whole text, but you can also specify how many character you want to return:
Read Lines
You can return one line by using the readline()
method:
Example
#Read one line of the file: f = open("demofile.txt", "r") print(f.readline())
Example
#By calling readline()
two times, you can read the two first lines: #Read two lines of the file: f = open("demofile.txt", "r") print(f.readline()) print(f.readline())
Example
#By looping through the lines of the file, you can read the whole file, line by line: #Loop through the file line by line: f = open("demofile.txt", "r") for x in f: print(x)
Python File Write/Create
Write to an Existing File
To write to an existing file, you must add a parameter to the open()
function:
"a"
- Append - will append to the end of the file
"w"
- Write - will overwrite any existing content
#Example #Open the file "demofile.txt" and append content to the file: f = open("demofile.txt", "a") f.write("Now the file has one more line!") #Example #Open the file "demofile.txt" and overwrite the content: f = open("demofile.txt", "w") f.write("Woops! I have deleted the content!") #Note: the "w" method will overwrite the entire file.
Create a New File
To create a new file in Python, use the open()
method, with one of the following parameters:
"x"
- Create - will create a file, returns an error if the file exist
"a"
- Append - will create a file if the specified file does not exist
"w"
- Write - will create a file if the specified file does not exist
#Example #Create a file called "myfile.txt": f = open("myfile.txt", "x") #Result: a new empty file is created! #Example #Create a new file if it does not exist: f = open("myfile.txt", "w")
Python File Delete
Check if File exist:
To avoid getting an error, you might want to check if the file exist before you try to delete it:
Example
#Check if file exist, then delete it: import os if os.path.exists("demofile.txt"): os.remove("demofile.txt") else: print("The file does not exists")
Delete Folder
To delete an entire folder, use the os.rmdir()
method:
Note: You can only remove
emptyfolders.