在python中启动一些东西

时间:2013-02-18 19:46:04

标签: python

好的,所以你可以看到我的问题,我是python的新手。我正在构建一个python脚本,基本上我希望它执行这一行


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

如何让python执行此操作,就像我在终端中输入一样?
感谢

2 个答案:

答案 0 :(得分:5)

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'])

答案 1 :(得分:2)

我无法发表评论,但想补充一下上述答案:
子进程包允许返回句柄,通过该句柄可以确定命令是否已成功执行。这在您的脚本中稍后可能很重要:

import subprocess  
COMMAND = '/Library/Frameworks/GDAL.framework/Programs/ogr2ogr -f "GeoJSON" output.json input.shp'  
return_code = subprocess.call(COMMAND, shell=True)