unfortunately the time variables are not directly exposed. I'll be sure to add that for a future version. For now it is a bit awkward to use, but possible. Here an example.
import COPASI
dm = COPASI.CRootContainer.addDatamodel()
cpu_time = dm.getObject(COPASI.CCommonName('CN=Root,Timer=CPU Time'))
# calculate to update
cpu_time.calculateValue()
# print to access
start = float(cpu_time.printToString())
# do something that takes a long time
# calculate to update, then print to access the value
cpu_time.calculateValue()
end = float(cpu_time.printToString())
#
print('that took {}'.format(end - start))