HomeComputer SciencePracticalClass 12Binary File Search

Class 12 Programs

Quick Tips

  • • Import random module for number generation
  • • Use randint(1, 6) for dice simulation
  • • Handle user input validation properly

Binary File Search

AIM

To write a Python program to search for a specific record in a binary file and display the matching records.

ALGORITHM

  1. Start
  2. Import pickle module for binary file operations
  3. Open the binary file in read mode
  4. Load records from the file using pickle.load()
  5. Search for the specific record based on criteria
  6. Display matching records
  7. Close the file
  8. Stop

PROGRAM

import pickle

def search_record():
    try:
        # Open binary file for reading
        with open('student.dat', 'rb') as file:
            print("Searching for records...")
            search_name = input("Enter name to search: ")
            found = False
            
            try:
                while True:
                    record = pickle.load(file)
                    if record['name'].lower() == search_name.lower():
                        print(f"Record Found:")
                        print(f"Name: {record['name']}")
                        print(f"Roll No: {record['roll']}")
                        print(f"Marks: {record['marks']}")
                        print("-" * 30)
                        found = True
            except EOFError:
                pass
            
            if not found:
                print("Record not found!")
                
    except FileNotFoundError:
        print("File not found!")
    except Exception as e:
        print(f"Error: {e}")

# Main program
if __name__ == "__main__":
    search_record()

OUTPUT

Searching for records...

Enter name to search: John

Record Found:

Name: John

Roll No: 101

Marks: 85

------------------------------

CONCLUSION

Thus, the program to search records in a binary file was successfully executed and the output was verified.

VIVA QUESTIONS

  1. What is a binary file?

    A binary file stores data in binary format and is not human-readable. It's more efficient for storing structured data.

  2. What is the pickle module used for?

    The pickle module is used for serializing and deserializing Python objects to and from binary format.