Почему мой код не работает в командной строке? - PullRequest
0 голосов
/ 27 сентября 2018

Я использую Python3.6, и мне нужно запустить мой код в командной строке.Код работает, когда я запускаю его в PyCharm, но когда я использую командную строку, я получаю эту ошибку:

 File "path", line 43, in <module>
     rb = ds.GetRasterBand(1) 
AttributeError: 'NoneType' object has no attribute 'GetRasterBand'

Кажется, что у меня есть проблема с этими строками:

ds = gdal.Open('tif_file.tif', gdal.GA_ReadOnly)
rb = ds.GetRasterBand(1)
img_array = rb.ReadAsArray()

Кто-нибудь знает, что я мог сделать неправильно?

РЕДАКТИРОВАТЬ

Некоторая магия только что произошлаЯ попытался запустить свой код этим утром, и все, кажется, хорошо.Я думаю, что мой компьютер был нужен перезагрузка или что-то в этом роде.Спасибо всем за помощь.

1 Ответ

0 голосов
/ 27 сентября 2018

из документации gdal:

from osgeo import gdal
dataset = gdal.Open(filename, gdal.GA_ReadOnly)
if not dataset:
    ...

Обратите внимание, что если GDALOpen () возвращает NULL, это означает, что открытие не удалось, и что сообщения об ошибках уже будут отправленычерез CPLError ().Если вы хотите контролировать то, как пользователю сообщается об ошибках, просмотрите документацию CPLError ().Вообще говоря, все GDAL использует CPLError () для сообщения об ошибках.Также обратите внимание, что pszFilename не обязательно должно быть именем физического файла (хотя обычно это так).Его интерпретация зависит от драйвера, и это может быть URL, имя файла с добавленными в конце дополнительными параметрами, управляющими открытием, или почти все.Пожалуйста, постарайтесь не ограничивать диалоги выбора файлов GDAL только выбором физических файлов.


выглядит так, как будто файл, который вы пытаетесь открыть, не является допустимым файлом gdal, или какое-то другое волшебство происходит ввыбор файла.Вы можете попробовать направить программу на известный файл в Интернете, чтобы проверить его.

...