how access to new vertices after bmesh.ops.bisect_edges?
bmesh.ops.bisect_edges returns a dictionary that only has one item geom_split, that one item is a list of the data you want. You can easily find what everything is in the python console -

&gt;&gt;&gt; newmesh.keys()
dict_keys(['geom_split'])
&gt;&gt;&gt; newmesh['geom_split'].keys()
Traceback (most recent call last):
  File "&lt;blender_console&gt;", line 1, in &lt;module&gt;
AttributeError: 'list' object has no attribute 'keys'
&gt;&gt;&gt; len(newmesh['geom_split'])
12
&gt;&gt;&gt; type(newmesh['geom_split'][0])
&lt;class 'BMVert'&gt;
&gt;&gt;&gt; type(newmesh['geom_split'][11])
&lt;class 'BMEdge'&gt;


If you replace your print() with the following you can see the returned data.

for i in newmesh['geom_split']:
    if type(i) == bmesh.types.BMVert:
        print("Vertex",i.index,"positioned at",i.co)
    elif type(i) == bmesh.types.BMEdge:
        print("Edge from vert",i.verts[0].index,"to vert",i.verts[1].index)


While the api states that bisect_edges returns "newly created vertices and edges" I only see two edges returned.