-5

わかりましたので、私の質問を見るとわかるように、私はPythonのまったくの初心者です。私はPythonスクリプトを作成していますが、基本的にはこの行を実行したいです


/Library/Frameworks/GDAL.framework/Programs/ogr2ogr -f "GeoJSON" output.json input.shp

ターミナルで入力しているかのように、Python でこれを実行するにはどうすればよいですか?
ありがとう

4

2 に答える 2

6
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'])
于 2013-02-18T19:46:50.940 に答える
2

コメントすることはできませんが、上記の回答に追加したいと思います:
サブプロセス パッケージでは、コマンドが正常に実行されたかどうかを判断できるリターン ハンドルが可能です。これは、スクリプトの後半で重要になる場合があります。

import subprocess  
COMMAND = '/Library/Frameworks/GDAL.framework/Programs/ogr2ogr -f "GeoJSON" output.json input.shp'  
return_code = subprocess.call(COMMAND, shell=True)  
于 2013-02-18T19:54:19.800 に答える