この方法で標準出力をキャプチャできます:
from subprocess import Popen, PIPE
cmd = ['gdallocationinfo', '-geoloc', '-valonly', src, lng, lat]
p = Popen(cmd, stdout=PIPE)
p.wait()
val = p.stdout.read()
もう少し掘り下げて、私の質問に対する答えを見つけました:
os.system を使用する代わりに、結果を変数に格納するための正しい構文は次のとおりです:
result = os.popen('gdallocationinfo -valonly -wgs84 %s %s' % (lyr, loc)).read()
この投稿で説明されているサブプロセス構文を使用する必要があると思います:
Python内からgdalを呼び出すサブプロセス