问题描述
我正在为 python 代码和终端使用 anaconda 环境。
当我想在环境激活的情况下在 shell (Windows CMD) 中执行程序时。程序 ogr2ogr 使用给定的参数返回正确的输出。工具 ogr2ogr 已通过 conda 包安装。
但是当我执行我的 python 代码时,ogr2ogr 返回一个错误输出。我认为可能是由于使用环境不同(在我不知情的情况下)使用不同的安装,但这本身是一种猜测。
python代码如下:
from pathlib import Path
from subprocess import check_call,STDOUT
...
file_path = Path(file_name)
destination = str(file_path.with_suffix(".gpkg"))
command = f"ogr2ogr -f GPKG -s_srs epsg:25833 -t_srs epsg:25833 {destination} GMLAS:{file_name} -oo REMOVE_UNUSED_LAYERS=YES"
check_call(command,stderr=STDOUT,shell=True)
ogr2ogr 将文件转换为另一种格式。这也完成了,但是当我打开文件时,我看到它没有 100% 正确完成。 当我复制字符串 command 的值并将其复制到 shell 并执行命令时,执行正确完成!
如何纠正使用 subprocess.check_call 的行为
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)