0% found this document useful (0 votes)
55 views

Python File Handling

The document discusses reading from and writing to files in Python, including opening files, reading and writing data, closing files, and handling errors. It provides the necessary steps to read from a file using a for loop, write to a file by opening it for writing and using the write method, and deal with exceptions by using try, except, else, and finally blocks when working with files. Examples are given throughout to demonstrate how to implement reading from and writing to files in Python programs.

Uploaded by

Tarun Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views

Python File Handling

The document discusses reading from and writing to files in Python, including opening files, reading and writing data, closing files, and handling errors. It provides the necessary steps to read from a file using a for loop, write to a file by opening it for writing and using the write method, and deal with exceptions by using try, except, else, and finally blocks when working with files. Examples are given throughout to demonstrate how to implement reading from and writing to files in Python programs.

Uploaded by

Tarun Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Introduction To Files In Python

slide 1
What You Need In Order To Read
Information From A File
1. Open the file and associate the file with a file variable.
2. A command to read the information.
3. A command to close the file.

slide 2
1. Opening Files

Prepares the file for reading:


A. Links the file variable with the physical file (references to the file
variable are references to the physical file).
B. Positions the file pointer at the start of the file.
Format:1
<file variable> = open(<file name>, "r")

Example:
(Constant file name)
inputFile = open("data.txt", "r")
OR
(Variable file name: entered by user at runtime)
filename = input("Enter name of input file: ")
inputFile = open(filename, "r")

slide 3
1 Examples assume that the file is in the same directory/folder as the Python program.
B. Positioning The File Pointer
letters.txt

B
:
slide 4
2. Reading Information From Files

• Typically reading is done within the body of a loop


• Each execution of the loop will read a line from the file into a
string

Format:
for <variable to store a string> in <name of file variable>:
<Do something with the string read from file>

Example:
for line in inputFile:
print(line) # Echo file contents back onscreen

slide 5
Closing The File

• Although a file is automatically closed when your program


ends it is still a good style to explicitly close your file as soon as
the program is done with it.
– What if the program encounters a runtime error and crashes before it
reaches the end? The input file may remain ‘locked’ an inaccessible
state because it’s still open.
• Format:
<name of file variable>.close()

• Example:
inputFile.close()

slide 6
Reading From Files: Putting It All Together

Name of the online example: grades1.py


Input files: letters.txt or gpa.txt

inputFileName = input("Enter name of input file: ")


inputFile = open(inputFileName, "r")
print("Opening file", inputFileName, " for reading.")

for line in inputFile:


sys.stdout.write(line)

inputFile.close()
print("Completed reading of file", inputFileName)

slide 7
What You Need To Write Information To A File

1. Open the file and associate the file with a file variable (file is
“locked” for writing).
2. A command to write the information.
3. A command to close the file.

slide 8
1. Opening The File

Format1:
<name of file variable> = open(<file name>, "w")

Example:
(Constant file name)
outputFile = open("gpa.txt", "w")

(Variable file name: entered by user at runtime)


outputFileName = input("Enter the name of the output file
to record the GPA's to: ")
outputFile = open(outputFileName, "w")

slide 9
1 Typically the file is created in the same directory/folder as the Python program.
3. Writing To A File

• You can use the ‘write()’ function in conjunction with a file


variable.
• Note however that this function will ONLY take a string
parameter (everything else must be converted to this type
first).

Format:
outputFile.write(temp)

Example:
# Assume that temp contains a string of characters.
outputFile.write (temp)

slide 10
Writing To A File: Putting It All Together

•Name of the online example: grades2.py


•Input file: “letters.txt” (sample output file name: gpa.txt)

inputFileName = input("Enter the name of input file to read the


grades from: ")
outputFileName = input("Enter the name of the output file to
record the GPA's to: ")

inputFile = open(inputFileName, "r")


outputFile = open(outputFileName, "w")

print("Opening file", inputFileName, " for reading.")


print("Opening file", outputFileName, " for writing.")
gpa = 0

slide 11
slide 12
James Tam
Writing To A File: Putting It All Together (2)

for line in inputFile:


if (line[0] == "A"):
gpa = 4
elif (line[0] == "B"):
gpa = 3
elif (line[0] == "C"):
gpa = 2
elif (line[0] == "D"):
gpa = 1
elif (line[0] == "F"):
gpa = 0
else:
gpa = -1
temp = str (gpa)
temp = temp + '\n'
print (line[0], '\t', gpa)
outputFile.write (temp)
slide 13
Writing To A File: Putting It All Together (3)

inputFile.close ()
outputFile.close ()
print ("Completed reading of file", inputFileName)
print ("Completed writing to file", outputFileName)

slide 14
Reading From Files: Commonly Used Algorithm
• Pseudo-code:
Read a line from a file as a string
While (string is not empty)
process the line
Read another line from the file

slide 15
James Tam
File Input: Alternate Implementation
• Name of the online example: grades3.py
inputFileName = input ("Enter name of input file: ")
inputFile = open(inputFileName, "r")
print("Opening file", inputFileName, " for reading.")

line = inputFile.readline()

while (line != ""):


sys.stdout.write(line)
line = inputFile.readline()

inputFile.close()
print("Completed reading of file", inputFileName)

slide 16
James Tam
Data Processing: Files
• Files can be used to store complex data given that there exists
a predefined format.
• Format of the example input file: ‘employees.txt’
<Last name><SP><First Name>,<Occupation>,<Income>

slide 17
James Tam
Example Program: data_processing.py
# EMPLOYEES.TXT
inputFile = open ("employees.txt", "r")
Adama Lee,CAG,30000
Morris Heather,Heroine,0
print ("Reading from file input.txt") Lee Bruce,JKD master,100000
for line in inputFile:
name,job,income = line.split(',')
last,first = name.split()
income = int(income)
income = income + (income * BONUS)
print("Name: %s, %s\t\t\tJob: %s\t\tIncome $%.2f"
%(first,last,job,income))

print ("Completed reading of file input.txt")


inputFile.close()

slide 18
James Tam
Error Handling With Exceptions

• Exceptions are used to deal with extraordinary errors


(‘exceptional ones’).
• Typically these are fatal runtime errors (“crashes” program)
• Example: trying to open a non-existent file
• Basic structure of handling exceptions
try:
Attempt something where exception error may happen
except <exception type>:
React to the error
else: # Not always needed
What to do if no error is encountered
finally: # Not always needed
Actions that must always be performed
slide 19
Exceptions: File Example

• Name of the online example: file_exception.py


• Input file name: Most of the previous input files can be used
e.g. “input1.txt”
inputFileOK = False
while (inputFileOK == False):
try:
inputFileName = input("Enter name of input file: ")
inputFile = open(inputFileName, "r")
except IOError:
print("File", inputFileName, "could not be opened")
else:
print("Opening file", inputFileName, " for reading.")
inputFileOK = True

for line in inputFile:


sys.stdout.write(line)
print ("Completed reading of file", inputFileName)
inputFile.close()
print ("Closed file", inputFileName)
slide 20
Exceptions: File Example (2)

# Still inside the body of the while loop (continued)


finally:
if (inputFileOK == True):
print ("Successfully read information from file",
inputFileName)
else:
print ("Unsuccessfully attempted to read information
from file", inputFileName)

slide 21
Exception Handling: Keyboard Input

• Name of the online example: exception_validation.py

inputOK = False
while (inputOK == False):
try:
num = input("Enter a number: ")
num = float(num)
except ValueError: # Can’t convert to a number
print("Non-numeric type entered '%s'" %num)
else: # All characters are part of a number
inputOK = True
num = num * 2
print(num)

slide 22
slide 23
James Tam
You Should Now Know

• How to open a file for reading


• How to open a file a file for writing
• The details of how information is read from and written to a
file
• How to close a file and why it is good practice to do this
explicitly
• How to read from a file of arbitrary size
• Data storage and processing using files and string functions
• How exceptions can be used in conjunction with file input and
with invalid keyboard/console input

slide 24

You might also like