我试图编写一个脚本来创建对WFS服务的多个ogr2ogr调用(在循环中)。出于某种原因,我不能使用osgeo lib(它是一台工作计算机,访问受限制......),所以我想我会试试Subprocess lib。
到目前为止,我的过程是:
代码:
import subprocess
p = subprocess.Popen(r'C:\Program Files\QGIS 2.18\OSGeo4W.bat',
stdout=subprocess.PIPE, stdin=subprocess.PIPE)
call = 'ogr2ogr -f "CSV" "folder_on_pc" WFS:"dbname" -sql "SELECT * from
specific_layer where attribute>=20180311 ORDER BY attribute"'
subprocess.check_call(call, shell=True)
output = p.communicate(call)[0]
我知道ogr2ogr调用有效,但似乎无法使命令行输入'。如果这是一个完全错误的方法,请告诉我。我赞不绝口。