File Processing
Basics of opening files to read data and creating new
files using different access modes. This fundamental
knowledge is essential when working with file I/O
operations in Python, allowing you to handle reading,
writing, and appending data safely and efficiently.
Opening Files
• The open() Function: Python’s built-in open() function is used to open a file. The syntax is:
• open(file, mode='r', buffering=-1, encoding=None, errors=None,
newline=None, closefd=True, opener=None)
• o file: The path to the file you want to open.
• o mode: Specifies the mode in which the file is opened (e.g., read, write, append). The most
common modes include:
• "r" – Read mode (default). Opens a file for reading; errors if the file does not exist.
• "w" – Write mode. Opens a file for writing, creating it if it doesn't exist and truncating it if it
does.
• "a" – Append mode. Opens a file for writing; data is added to the end of the file if it exists.
• "r+" – Read and write mode. Opens the file for both reading and writing.
• "x" – Exclusive creation mode. Creates a new file but fails if the file already exists.
• encoding: Specifies the text encoding (like "utf-8"). Recommended for working with text files to
avoid encoding issues on different systems.
Cont
• Using a Context Manager (with statement): Using with is considered
best practice as it automatically handles closing the file when the
block is exited, even if an error occurs.
• python
• with open('example.txt', 'r', encoding='utf-8') as file:
• contents = file.read()
• print(contents)
Manual File Opening and Closing:
• While it’s possible to open and then explicitly close a file:
• python
• file = open('example.txt', 'r', encoding='utf-8')
• try:
• contents = file.read()
• print(contents)
• finally:
• file.close()
• The context manager approach is shorter and safer to manage resources.
Creating Files
• Using Write Mode ("w"): Opening a file in write mode creates the file
if it doesn’t exist and truncates it (clears content) if it does.
• python
• with open('newfile.txt', 'w', encoding='utf-8') as file:
• file.write("Hello, this is a newly created file!\n")
• This example creates newfile.txt and writes a line of text to it.
Using Exclusive Creation Mode ("x"):
• If you want to ensure that you do not overwrite an existing file, you
can use "x". It will raise a FileExistsError if the file already exists.
• python
• try:
with open('unique_file.txt', 'x', encoding='utf-8') as file:
file.write("This file is created using exclusive mode.\n")
except FileExistsError:
print("Error: The file already exists!")
Appending to a File ("a"):
• Although not strictly “creating” a file, using append mode will create
the file if it doesn’t exist or if it does, it won’t overwrite the file;
instead, it adds new content at the end.
• python
• with open('append_file.txt', 'a', encoding='utf-8') as file:
file.write("Appending a new line of text!\n")
Summarizing File Creation:
• "w": Write mode (creates/truncates file).
• "x": Exclusive creation mode (creates file, errors if it exists).
• "a": Append mode (creates file if absent, appends if present).