FileHandling1_WithKeys
FileHandling1_WithKeys
1|Page
Write the output of following statements –
f = open("CORONA.TXT")
sr1 = # to read first line of file
str2 = # to read next line of file
str3 = # to read remaining lines of file
2|Page
15 Write a function in python to read lines from file “POEM.txt” and count how many
times the word “Corona” exists in file.
For e.g. if the content of file is :
O Corona O Corona
Jaldi se tum Go na
Social Distancing ka palan karona
sabse 1 meter ki duri rakhona
Lockdown me ghar me ho to
online padhai karona
O Corona O Corona
Jaldi se tum Go na
Output should be: Number of time word Corona occurs : 4
Ans Solution 1:
def CoronaCount():
f = open('poem.txt')
count = 0
for line in f:
words = line.lower().split()
count += words.count('corona')
print("Number of time words Corona occurs: ",count)
Solution 2:
def CoronaCount():
f = open('poem.txt')
count = 0
for line in f:
words = line.split()
for w in words:
if w.lower()=='corona':
count+=1
print("Number of time words Corona occurs: ",count)
16 Write a function in python to read lines from file “POEM.txt” and display all those
words, which has two characters in it.
For e.g. if the content of file is
O Corona O Corona
Jaldi se tum Go na
Social Distancing ka palan karona
sabse 1 meter ki duri rakhona
Lockdown me ghar me ho to
online padhai karona
O Corona O Corona
Jaldi se tum Go na
Output should be : se Go na ka ki me me ho to se Go na
Ans def TwoCharWord():
f = open('poem.txt')
count = 0
for line in f:
words = line.split()
for w in words:
if len(w)==2:
print(w,end=' ')
17 Write a function COUNT() in Python to read contents from file “REPEATED.TXT”, to
count and display the occurrence of the word “Catholic” or “mother”.
For example:
If the content of the file is “Nory was a Catholic because her mother was a Catholic , and
Nory‟s mother was a Catholic because her father was a Catholic , and her father was a
Catholic because his mother was a Catholic , or had been
The function should display:
Count of Catholic, mother is 9
3|Page
Ans def COUNT():
f = open('REPEATED.txt')
count = 0
for line in f:
words = line.split()
for w in words:
if w.lower()=='catholic' or w.lower()=='mother':
count+=1
print('Count of Catholic,mother is',count)
18 Write a function dispS() in Python to read from text file “POEM.TXT” and display
those lines which starts with “S”
For example:
If the content of the file is “
O Corona O Corona
Jaldi se tum Go na
Social Distancing ka palan karona
Sabse 1 meter ki duri rakhona
Lockdown me ghar me ho to
online padhai karona
O Corona O Corona
Jaldi se tum Go na
The function should display:
Social Distancing ka palan karona
Sabse 1 meter ki duri rakhona
Ans def dispS():
f = open('poem.txt')
count = 0
for line in f:
if line[0].lower()=='s':
print(line)
19 Write a function COUNTSIZE() in Python to read the file “POEM.TXT” and display
size of file. For e.g. if the content of file is :
O Corona O Corona
Jaldi se tum Go na
Social Distancing ka palan karona
sabse 1 meter ki duri rakhona
Lockdown me ghar me ho to
online padhai karona
O Corona O Corona
Jaldi se tum Go na
The function should display
Size of file is 184
Ans def COUNTSIZE():
f = open('poem.txt')
s = f.read()
print(„Size of file is „,len(s))
20 Write a python function ATOEDISP() for each requirement in Python to read the file
“NEWS.TXT” and
(I) Display “E” in place of all the occurrence of “A” in the word COMPUTER.
(II) Display “E” in place of all the occurrence of “A”:
I SELL COMPUTARS. I HAVE A COMPUTAR. I NEED A COMPUTAR. I WANT A
COMPUTAR. I USE THAT COMPUTAR. MY COMPUTAR CRASHED.
The function should display
(I) I SELL COMPUTERS. I HAVE A COMPUTER. I NEED A COMPUTER. I WANT A
COMPUTER. I USE THAT COMPTUER. MY COMPUTER CRASHED.
(II) I SELL COMPUTERS. I HEVE E COMPUTER. I NEED E COMPUTER. I WENT E
COMPUTER. I USE THET COMPTUER. MY COMPUTER CRESHED.
4|Page
Ans (I)
def ATOEDISP():
f = open('NEWS.TXT')
for line in f:
s = line.split()
for word in s:
if 'computar' in word.lower():
word=word.replace('A','E')
print(word,end=' ')
(I)
def ATOEDISP():
f = open('NEWS.TXT')
s = f.read()
for ch in s:
if ch.lower()=='a':
print('E',end='')
else:
print(ch,end='')
Ans f.write(str.encode())
7 function is used to fetch binary data from binary file
Ans
8 function is used to convert binary string to string
Ans read() and load()
9 function is used in binary mode to send the read pointer to desired
position
Ans seek()
5|Page
10 Consider a binary file which stores Name of employee, where each name
occupies 20 bytes (length of each name) in file irrespective of actual
characters. Now you have to write code to access the first name, 5 th name and
last name.
f = open("Emp.txt","rb")
s= #code to get first record
print(s.decode())
# code to position at 5th record
s = f.read(size)
print(s.decode())
# code to position at last record
s = f.read(20)
print(s.decode())
f.close()
Ans f.read(20)
f.seek((5-1)*20)
f.read(((os.path.getsize(„Emp.txt‟)/20)-1)
11 Write a Python statement to reposition the read pointer to 20 bytes back
from the current position.
f = open("Emp.txt","rb")
f.read(20)
f.read(20)
f.read(20)
f. # reposition read pointer to previous record
f.close()
Ans f.seek(-20,1)
12 Write a function RECCOUNT() to read the content of binary file „NAMES.DAT‟
and display number of records ( each name occupies 20 bytes in file ) in it.
For. e.g. if the content of file is:
SACHIN
AMIT
AMAN
SUSHIL
DEEPAK
HARI SHANKER
Function should display
Total Records are 6
Ans import os
def RECCOUNT():
size_of_rec = 20 #Each name will occupy 20 bytes
file_len = os.path.getsize('Names.dat')
num_record = file_len/size_of_rec
print("Total Records are :",num_record)
13 Write a function SCOUNT() to read the content of binary file „NAMES.DAT‟ and
display number of records (each name occupies 20 bytes in file ) where name
begins from „S‟ in it.
6|Page
For. e.g. if the content of file is:
SACHIN
AMIT
AMAN
SUSHIL
DEEPAK
HARI SHANKER
Function should display
Total Names beginning from „S‟ are 2
7|Page
23 From the given path identify the type of each:
(i) C:\mydata\web\resources\img.jpg
(ii) ..\web\data.conf
Ans (i) Absolute
(ii) Relative
24 Consider the following Binary file „Emp.txt‟, Write a function RECSHOW() to
display only those records who are earning more than 7000
if found==False:
print("## SORRY EMPLOYEE NUMBER NOT FOUND ##")
f.close()
24 CSV stands for
Ans Comma Separate Value
25 object is used to read data from csv file?
Ans reader
26 object is used to perform write operation on csv file.
Ans writer
27 function of writer object is used to send data to csv file to store.
Ans writerow()
28 Consider the following CSV file (emp.csv):
1,Peter,3500
2,Scott,4000
3,Harry,5000
4,Michael,2500
5,Sam,4200
Write Python function DISPEMP() to read the content of file emp.csv and display
only those records where salary is 4000 or above
8|Page
Ans import csv
def DISPEMP():
with open('emp.csv') as csvfile:
myreader = csv.reader(csvfile,delimiter=',')
print("%10s"%"EMPNO","%20s"%"EMP NAME","%10s"%"SALARY")
print("==================================================")
for row in myreader:
if int(row[2])>4000:
print("%10s"%row[0],"%20s"%row[1],"%10s"%row[2])
29 Consider the following CSV file (emp.csv):
1,Peter,3500
2,Scott,4000
3,Harry,5000
4,Michael,2500
5,Sam,4200
Write a Python function DISPEMP() to read the content of file emp.csv and count
how many employee are earning less than 5000
Ans import csv
def DISPEMP():
with open('emp.csv') as csvfile:
myreader = csv.reader(csvfile,delimiter=',')
count=0
print("%10s"%"EMPNO","%20s"%"EMP NAME","%10s"%"SALARY")
print("==================================================")
for row in myreader:
if int(row[2])<5000:
count+=1
print("==================================================")
print("%40s"%"#EMPLOYEE GETTING SALARY <5000 :",count)
print("==================================================")
30 Consider the following CSV file (emp.csv):
1,Peter,3500
2,Scott,4000
3,Harry,5000
4,Michael,2500
5,Sam,4200
Write a Python function SNAMES() to read the content of file emp.csv and display
the employee record whose name begins from „S‟ also show no. of employee with
first letter „S‟ out of total record.
Output should be:
2,Scott,4000
5,Sam,4200
Number of „S‟ names are 2/5
Ans import csv
def SNAMES():
with open('emp.csv') as csvfile:
myreader = csv.reader(csvfile,delimiter=',')
count_rec=0
count_s=0
for row in myreader:
9|Page
if row[1][0].lower()=='s':
print(row[0],',',row[1],',',row[2])
count_s+=1
count_rec+=1
print("Number of 'S' names are ",count_s,"/",count_rec)
31 Write a python function CSVCOPY() to take sourcefile, targetfile as parameter
and create a targetfile and copy the contents of sourcefile to targetfile
Ans import csv
def CSVCOPY(sourcefile,targetfile):
with open(sourcefile) as csvfile:
f2 = open(targetfile,'w')
mywriter=csv.writer(f2,delimiter=',')
myreader = csv.reader(csvfile,delimiter=',')
for row in myreader:
mywriter.writerow([row[0],row[1],row[2]])
f2.close()
10 | P a g e