Python Glossary English

все Python 3urllib.requestпонятие

urllib.request.FileHandler

обработчики протоколов

Обработчик file:// URL: читает локальный файл и отдаёт заголовки типа, размера и даты изменения.

Синтаксис

urllib.request.FileHandler()

Хост в адресе допустим только локальный: 'file://server/x' даёт URLError. Относительного file:// не бывает, а пробелы и кириллицу надо кодировать, поэтому URL собирают из пути через Path.resolve().as_uri() — у относительного пути as_uri() сам поднимет ValueError. Код ответа здесь не HTTP: resp.status равен None.

Примеры

import pathlib, urllib.request
path = pathlib.Path('notes.txt')
path.write_text('abc', encoding='utf-8')
with urllib.request.urlopen(path.resolve().as_uri()) as resp:
    print(resp.headers['Content-type'], resp.headers['Content-length'], resp.status)
# → text/plain 3 None
import urllib.error, urllib.request
try:
    urllib.request.urlopen('file://server/share/x.txt')
except urllib.error.URLError as e:
    print(type(e).__name__)  # → URLError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности