hmm, I was not aware of it before but seems that we could also use:
import sensor_msgs.point_cloud2 as pts
pts.read_points
?