Python-Arduino USB communication floats problem

How does the Arduino find the start of the data packet? That delay(100) is going to get the buffer filled up with unidentifiable crap while you are not reading it.