все 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Сообщить о неточности