わかりましたので、私の質問を見るとわかるように、私はPythonのまったくの初心者です。私はPythonスクリプトを作成していますが、基本的にはこの行を実行したいです
/Library/Frameworks/GDAL.framework/Programs/ogr2ogr -f "GeoJSON" output.json input.shp
ターミナルで入力しているかのように、Python でこれを実行するにはどうすればよいですか?
ありがとう
わかりましたので、私の質問を見るとわかるように、私はPythonのまったくの初心者です。私はPythonスクリプトを作成していますが、基本的にはこの行を実行したいです
/Library/Frameworks/GDAL.framework/Programs/ogr2ogr -f "GeoJSON" output.json input.shp
ターミナルで入力しているかのように、Python でこれを実行するにはどうすればよいですか?
ありがとう
import os
os.system('/Library/Frameworks/GDAL.framework/Programs/ogr2ogr -f "GeoJSON" output.json input.shp')
最近では、subprocessパッケージの使用が推奨されています。
subprocess.call(['/Library/Frameworks/GDAL.framework/Programs/ogr2ogr', '-f',
'"GeoJSON"', 'output.json', 'input.shp'])
コメントすることはできませんが、上記の回答に追加したいと思います:
サブプロセス パッケージでは、コマンドが正常に実行されたかどうかを判断できるリターン ハンドルが可能です。これは、スクリプトの後半で重要になる場合があります。
import subprocess
COMMAND = '/Library/Frameworks/GDAL.framework/Programs/ogr2ogr -f "GeoJSON" output.json input.shp'
return_code = subprocess.call(COMMAND, shell=True)