You can mix the high-level object-oriented approach described in this document with middle-level VISA function calls in module vpp43 as described in The VISA library implementation which is also part of the PyVISA package. By doing so, you have full control of your devices. I recommend to import the VISA functions with
from pyvisa import vpp43
The VISA functions need to know what session you are referring to. PyVISA opens exactly one session for each instrument or interface and stores its session handle in the instance attribute vi. For example, these two lines are equivalent:
my_instrument.clear() vpp43.clear(my_instrument.vi)
In case you need the session handle for the default resource manager, it's stored in resource_manager.session:
from visa import *
from pyvisa import vpp43
my_instrument_handle = vpp43.open(resource_manager.session, "GPIB::14",
VI_EXCLUSIVE_LOCK)