4. Create a binary file with name and roll number. Search for a given roll number and display the name, if not found display appropriate message.

 importstruct

 

defcreate_binary_file(filename):

data = [("Alice", 1), ("Bob", 2), ("Charlie", 3)]  # Sample data

with open(filename, 'wb') as file:

for name, roll_number in data:

file.write(struct.pack('20sI', name.encode(), roll_number))

 

defsearch_in_binary_file(filename, roll_number):

with open(filename, 'rb') as file:

while True:

try:

name_bytes, roll_number_bytes = struct.unpack('20sI', file.read(24))

name = name_bytes.decode().strip('\x00')

ifroll_number == struct.unpack('I', roll_number_bytes)[0]:

print(f"Name for roll number {roll_number}: {name}")

return

exceptstruct.error:

print("Roll number not found.")

return

 

if __name__ == "__main__":

filename = "students.bin"

create_binary_file(filename)

search_roll_number = int(input("Enter roll number to search: "))

search_in_binary_file(filename, search_roll_number)

No comments:

Post a Comment