Атрибут port класса URL
Атрибут port класса URL хранит номер
порта, извлеченный из строки подключения к базе
данных. Если порт в URL не указан, атрибут
возвращает None. Значение атрибута доступно
только для чтения и задается при разборе строки
URL функцией make_url или при создании
объекта URL.
Синтаксис
url.port
Пример
Давайте разберем строку URL с явно указанным
портом и выведем значение атрибута port:
from sqlalchemy import make_url
url = make_url('postgresql://user:password@localhost:5432/mydb')
print(url.port)
Результат выполнения кода:
5432
Пример
Давайте разберем строку URL без указания порта
и посмотрим, что вернет атрибут port:
from sqlalchemy import make_url
url = make_url('sqlite:///:memory:')
print(url.port)
Результат выполнения кода:
None
Пример
Давайте создадим объект URL напрямую
с параметром port и затем изменим его
методом set:
from sqlalchemy import URL
url = URL.create(
drivername='postgresql',
username='user',
password='password',
host='localhost',
port=5432,
database='mydb'
)
print(url.port)
new_url = url.set(port=6432)
print(new_url.port)
Результат выполнения кода:
5432
6432
Пример
Давайте передадим созданный объект URL
в функцию create_engine и убедимся,
что порт сохранился в движке:
from sqlalchemy import URL, create_engine
url = URL.create(
drivername='sqlite',
database=':memory:',
port=1234
)
engine = create_engine(url)
print(engine.url.port)
Результат выполнения кода:
1234