好吧,你可以看到我的問題我是一個Python的總newb。我建立一個python腳本,基本上我想它來執行這條線
在Python中啓動一些東西
/Library/Frameworks/GDAL.framework/Programs/ogr2ogr -f "GeoJSON" output.json input.shp
如何讓Python來執行此,如果我在我的終端打字嗎?
感謝
好吧,你可以看到我的問題我是一個Python的總newb。我建立一個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)
爲什麼這個問題沒有投票?堆棧溢出標準不夠好嗎? – climboid 2013-02-18 20:32:39
我沒有downvote,但我的猜測是,這是因爲它是以前的堆棧溢出問題,如[這一個]的副本(http://stackoverflow.com/questions/450285/executing-command-line-programs-from- python),這可以很容易地找到(例如)谷歌搜索「啓動命令行Python」 – 2013-02-18 20:52:46
嘿,感謝大衛 – climboid 2013-02-18 21:02:03