使用Osgeo4w外壳通孔。Python纸条

2024-05-29 05:24:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个脚本来创建对WFS服务的多个ogr2ogr调用(在一个循环中)。由于某些原因,我不能使用osgeo库(它是一台工作计算机,访问权限有限…),所以我想尝试一下子进程库。在

到目前为止,我的想法是:

  • 打开OSGeo4W外壳
  • 将字符串从脚本传输到shell命令行
  • 多个ogr2ogr调用的循环

代码:

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调用可以工作,但似乎不能使命令行“键入”。如果这是一个完全错误的方法,请告诉我。我感谢所有的帮助。在


Tags: 命令行脚本权限进程计算机原因attributeshell

热门问题