GNU/Linux >> Znalost Linux >  >> Linux

Ukládání výsledku z gdallocationinfo jako proměnné v Pythonu

Standardní výstup můžete zachytit tímto způsobem:

from subprocess import Popen, PIPE

cmd = ['gdallocationinfo', '-geoloc', '-valonly', src, lng, lat]
p = Popen(cmd, stdout=PIPE)
p.wait()
val = p.stdout.read()

Trochu jsem hloubal a našel jsem odpověď na svou otázku:

místo použití os.system je správná syntaxe pro uložení výsledku do proměnné:

result = os.popen('gdallocationinfo -valonly -wgs84 %s %s' % (lyr, loc)).read()

Myslím, že budete muset použít syntaxi podprocesu, jak je vysvětleno v tomto příspěvku:

podproces pro volání gdal z pythonu


Linux
  1. Import modulu Python z Bash

  2. Odinstalovat python vytvořený ze zdroje?

  3. Jak uložit výsledek provedeného příkazu shellu do proměnné v pythonu?

  1. Jak spustit Python skript z Javy?

  2. Spuštění skriptu Python z PHP

  3. návratová hodnota z python skriptu do shell skriptu

  1. Ukládání výstupu příkazu do proměnné Shell?

  2. Zabíjení podprocesu spuštěného sudo v pythonu

  3. Exportujte proměnnou z bash a použijte ji v Pythonu