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