Невозможно открыть URL, который является локальным путем файла - PullRequest
0 голосов
/ 22 апреля 2020

Я загрузил последнюю версию Python (3.8) на свой ноутбук windows 10 и хотел запустить программу deepzoom.py, доступную здесь . Я изо всех сил пытаюсь исправить эту проблему с простым путем в моей программе python. (Я довольно новичок в Python) и надеюсь, что это что-то очевидное.

import os
import deepzoom

SOURCE=r'c:\work\dzimages\helloworld.jpg'
DESTINATION=r'c:\work\dzimages\output\helloworld.dzi'


creator = deepzoom.ImageCreator(
    tile_size=128,
    tile_overlap=2,
    tile_format="png",
    image_quality=0.8,
    resize_filter="bicubic",
)

# Create Deep Zoom image pyramid from source
creator.create(SOURCE,DESTINATION)

Я получаю путь, не найденный в ИСТОЧНИКЕ. В идеале источником должен быть http (s) URL, но я предполагаю, что он будет работать с локальным URL файла. Я пробовал различные комбинации double sla sh и file: // и многие другие, как это было предложено в Интернете, но ни одна из них, похоже, не работала. Так что есть что-то очевидное, чего мне не хватает. Спасибо! Это моя полная ошибка

Traceback (most recent call last):
  File "C:\Work\TestProjects\deepzoom.py-master\deepzoom.py-master\examples\helloworld\helloworld-dzi.py", line 25, in <module>
  creator.create(SOURCE,DESTINATION)
  File "C:\Work\Python\lib\site-packages\deepzoomtools-2.0.0a2-py3.8.egg\deepzoom\__init__.py", line 493, in f_retry
  File "C:\Work\Python\lib\site-packages\deepzoomtools-2.0.0a2-py3.8.egg\deepzoom\__init__.py", line 536, in safe_open
  File "C:\Work\Python\lib\urllib\request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Work\Python\lib\urllib\request.py", line 525, in open
    response = self._open(req, data)
  File "C:\Work\Python\lib\urllib\request.py", line 547, in _open
    return self._call_chain(self.handle_open, 'unknown',
  File "C:\Work\Python\lib\urllib\request.py", line 502, in _call_chain
    result = func(*args)
  File "C:\Work\Python\lib\urllib\request.py", line 1390, in unknown_open
    raise URLError('unknown url type: %s' % type)
urllib.error.URLError: <urlopen error unknown url type: c>

1 Ответ

0 голосов
/ 23 апреля 2020

deepzoom видит c: в начале вашей строки как схему URI. Вы можете удалить это или предоставить полный URI, как это может работать:

SOURCE='file:///c:/work/dzimages/helloworld.jpg'

См. https://en.wikipedia.org/wiki/File_URI_scheme для получения дополнительной информации.

...