Как работает функция reload()?
Эта функция нужна для того, чтобы перезагрузить изменившийся код из py-файла без рестарта интерпретатора.
Дело в том, что любой импортированный модуль при повторном импорте не будет перечитывать файл. Функция импорта вернёт уже загруженный в память объект модуля. Чтобы обновить код, нужно либо перезапустить всю программу, либо использовать функцию reload()
from importlib import reload
reload(my_module)
🔸 Функция reload() принимает в качестве аргумента только объект модуля или пакета. Она не может перезагрузить класс или функцию. Только весь файл целиком!
🔸 Перезагрузка пакета перезагрузит только его файл __init__.py, если он есть. Но не вложенные модули.
🔸Она не может перезагрузить ранее не импортированный модуль.
🔸При вызове функция reload() перечитывает и перекомпилирует код в файле, создавая новые объекты. После создания новых объектов перезаписывается ранее созданный неймспейс этого модуля.
Это значит, что если где-то этот модуль импортирован через import и обращение к атрибутам происходит через неймспейс (имя) модуля, то такие атрибуты обновятся.
Если какие-либо объекты из этого модуля импортированы через from то они будут ссылаться на старые объекты.
Напишем простой модуль
# mymodule.py
x = 1
Теперь импортируем модуль и отдельно переменную х из модуля
>>> import mymodule
>>> from mymodule import x
>>> print(mymodule.x)
1
>>> print(x)
1
Не перезапуская интерпретатор вносим изменения в модуль
# mymodule.py
x = 2
Делаем перезагрузку модуля и проверяем х ещё раз
>>> reload(mymodule)
>>> print(mymodule.x)
2
>>> print(x)
1
То же самое будет если присвоить любой объект переменной (даже словарь или список)
Повторный импорт обновляет значение
>>> from mymodule import x
>>> print(x)
2
🔸Созданные инстансы классов не обновятся после перезагрузки модуля. Их придётся пересоздать.
#tricks#basic
🚢Astro Offshore входит в сегмент ультра-глубоководных работ с судном "Astro Atlas".
Дубайская Astro Offshore (входит в группу Adani Group) расширила флот, приобретя судно типа MPSV "Energy Savannah" (2021 г. постройки), которое будет переименовано в "Astro Atlas".
"Astro Atlas" - стало крупнейшим во флоте компании и открывает доступ к сегменту ультра-глубоководных операций.
Судно длиной 97 метров оснащено системой DP2, краном AHC грузоподъемностью 150 тонн, moonpool и рассчитано на размещение до 100 человек. Судно будет работать по чартеру с Oceaneering International, выполняя задачи в области подводных работ — от строительства и монтажа до обслуживания подводной инфраструктуры.
С технической точки зрения "Astro Atlas" способно работать на глубинах свыше 3000*** метров, что значительно расширяет операционные возможности компании и позволяет участвовать в более сложных и капиталоемких проектах.
С отраслевой точки зрения сделка отражает растущий спрос на высокотехнологичный офшорный флот в сегменте глубоководных работ.
Выход **Astro Offshore в этот рынок подчеркивает тренд на расширение географии операций и усиление конкуренции за проекты с высокой добавленной стоимостью.
Дополнительно партнерство с Oceaneering демонстрирует важность кооперации между владельцами флота и технологическими подрядчиками для эффективной реализации сложных офшорных проектов.
📌Astro Offshore LLC — основана в 2019 году, частная офшорная компания, входит в индийский конгломерат Adani Group, принадлежащий семье Адани.
#offshore#subsea#shipping#deepwater#energy
🚢SLB получила контракты на глубоководное бурение в Индонезии.
Международная сервисная компания SLB (бывшая Schlumberger) заключила несколько контрактов с Mubadala Energy на оказание буровых и скважинных услуг в рамках проекта Tangkuloв Андаманском море (Индонезия).
Соглашение охватывает полный цикл интегрированных услуг: направленное бурение, буровые растворы, цементирование, каротаж и испытания скважин.
Проект предполагает использование технологий SLB для глубоководных операций, включая системы мониторинга в реальном времени, направленные на снижение операционных рисков и оптимизацию размещения скважин.
Первый газ на месторождении планируется до конца 2028 года. Для Mubadala Energy - проект Tangkulo является ключевым активом в портфеле Юго-Восточной Азии и стратегическим элементом расширения газового бизнеса.
📌SLB (Schlumberger) основана в 1926 году и является одной из крупнейших в мире нефтесервисных компаний. Компания публичная (NYSE); капитал распределён между институциональными и частными инвесторами.
#offshore#deepwater#Indonesia#oilfieldservices#SLB
🚢Shell запускает буровую программу в Египте с судном "Stena IceMax".
Британский энергетический гигант Shell начал много-скважинную буровую кампанию в Средиземном море у побережья Египта с использованием судна "Stena IceMax", принадлежащего шотландской компании Stena Drilling.
Шестое поколение буровых судов для ультра-глубоководного бурения (2012 г. постройки) способно работать на глубинах до 10 000 футов. Первым этапом станут разработочные скважины Mina West, затем – разведочные проекты Sirius и Velox.
Проект Mina West расположен в концессии Northeast El Amriya.
Shell владеет 60% и выступает оператором, партнёром является Kuwait Foreign Petroleum Exploration Company (40%). Работы ведутся в координации с Egyptian Natural Gas Holding Company.
✔️ Египет усиливает геологоразведку: до 2030 года планируется бурение 586 нефтегазовых скважин.
✔️ Возврат Shell к активной оффшорной разведке подтверждает стратегическую роль Восточного Средиземноморья.
✔️ Использование современного бурового судна повышает операционную гибкость и снижает риски при глубоководном бурении.
Проект отражает тренд на усиление инвестиций в разведку в условиях стабилизации цен и растущего спроса на региональный газ.
📌Shell ведёт историю с 1907 года (слияние Royal Dutch Petroleum и Shell Transport & Trading). Сегодня это одна из крупнейших мировых энергетических компаний, акции котируются в Лондоне и Амстердаме. Структура владения — публичная, крупнейшие акционеры — международные институциональные фонды.
#OffshoreDrilling#MediterraneanEnergy#Deepwater#Shell#OilAndGas