File Handling

The key function for working with files in Python is the open() function.

The open() function takes two parameters; filename, 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)

Open a File

To open a file for reading it is enough to specify the name of the file:

f = open("file.txt")

The code above is the same as:

f = open("file.txt", "rt")

Read a File

hole file

f = open("file.txt", "r")
print(f.read())

Only Parts

f = open("file.txt", "r")
print(f.read(5)) # Return the 5 first characters

Read Lines

f = open("file.txt", "r")
print(f.readline()) # first line
print(f.readline()) # second line
print(f.readline()) # third line

we can read hole file using loops

f = open("file.txt", "r") 
for x in f:
    print(x)

Close Files

f = open("file.txt", "r")
print(f.readline())
f.close()

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

Append

f = open("file.txt", "a")
f.write("Hello world!")
f.close()

#open and read the file after the appending: 
f = open("file.txt", "r")
print(f.read())
Output: Hello world!

Overwrite

f = open("file.txt", "w")
f.write("overwite Hello world!")
f.close()

#open and read the file after the appending: 
f = open("file.txt", "r")
print(f.read())
Output: overwite Hello world!

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

f = open("file.txt", "x") # returns an error if the file exist
f = open("file.txt", "w") # create a file if the  file does not exist

Delete a File

To delete a file, you must import the OS module, and run its os.remove() function:

import os
os.remove("demofile.txt")

Delete Folder

import os
os.rmdir("myfolder")

Last updated