Почему ogr2ogr пытается открыть приложение, из которого оно запускается?

#python #geojson #gdal #ogr2ogr

#python #geojson #gdal #ogr2ogr

Вопрос:

Я пытаюсь написать некоторый скрипт, используя ogr2ogr функцию на python:

 convertstring = 'ogr2ogr -f r"GeoJSON" r"Output.GeoJson" -select * -where "layer = building" r"'   filepath '"'
os.system(convertstring)
  

но я продолжаю получать эту ошибку:

СБОЙ: невозможно открыть источник данных `myApp.py » со следующими водителями.

Это немного странно — myApp.py это приложение, которое я запускаю, поэтому нет необходимости открывать его, и я не прошу его открывать. Любая помощь действительно ценится.

Ответ №1:

os.system() использует оболочку для выполнения команды, так что asterisk расширяется до всех имен файлов в текущем рабочем каталоге.

Не имея к этому отношения, я сильно сомневаюсь, что все эти r" штуковины делают то, что вы хотите, чтобы они делали (что бы это ни было!).

Возможно, вам лучше использовать subprocess.run() .