Vous pouvez capturer la norme de cette façon :
from subprocess import Popen, PIPE
cmd = ['gdallocationinfo', '-geoloc', '-valonly', src, lng, lat]
p = Popen(cmd, stdout=PIPE)
p.wait()
val = p.stdout.read()
J'ai creusé un peu plus et j'ai trouvé la réponse à ma question :
au lieu d'utiliser os.system, la syntaxe correcte pour stocker le résultat dans une variable est :
result = os.popen('gdallocationinfo -valonly -wgs84 %s %s' % (lyr, loc)).read()
Je pense que vous devrez utiliser la syntaxe du sous-processus, elle est expliquée dans ce post :
sous-processus pour appeler gdal depuis python