Ранее мы уже говорили о том, как выполнить какой-либо код перед открытием интерактивной консоли.
Расскажу еще один способ! На самом деле, даже запустив интерпретатор в обычном режиме с выполнением скрипта из файла вы можете в любом месте активировать интерактивный режим. Или даже несколько по очереди. За это отвечает модуль code.
Как это может пригодиться?
🔸 Вам не хватает pdb и хочется больше "власти"
🔸 Нужно запросить у юзера данные в достаточно сложном виде. В этом случае можно попросить его создать что ему надо и сохранить в определённую переменную, с которой потом и работать.
🔸 Нужна изолированная среда для выполнения каких-либо действий.
🔸 Просто забавы ради😁
Запускается консоль очень просто
import code
ic = code.InteractiveConsole()
try:
ic.interact()
except SystemExit:
pass
Выход обратно на предыдущий уровень происходит как обычно, вызов функции exit() или клавиши Ctrl+D(Ctrl+Z для Windows).
Я набросал простой пример с некоторым функционалом
🔹 Меняются символы приглашения
🔹 В неймспейсы добавляются дополнительные объекты
🔹 Считается время, проведённое в интерактивном режиме
🔹 Скрипт просит юзера заполнить переменную и по выходу распечатывает её значение
Код здесь ↗️
Для запуска сохраните код в файл и запускайте как обычный скрипт.
python my_console.py
Для быстрого запуска можно сделать отдельный алиас
alias py="python3 /home/username/my_console.py"
#tricks#source
Oxygen OS - Port | Android 16 | Nothing Phone (2)
✍️Details:
- Based On: OxygenOS 16.0.3 (Base Oneplus 12R)
- Version: 1.2.0
- Codename: #Pong
- Build date: 14/04/26
🔽 Chnangelog & Download:Here
❌ Known Issues: Here
🔖 Tags: #OxygenOS#Port
⚠️ Notes
- SELinux is Permissive.
- FW is included, do not flash again!
- Root: The shipped kernel is rooted with KSU (KernelSU) by default.
- Kernels: Custom kernels are NOT supported.
- This build uses a non-secure crypto engine implementation. Any passwords set for privacy features (such as app lock, app hiding, or file vault) can be easily bypassed by simply deleting the associated storage files. Do not rely on it for real security or for protecting sensitive personal data.
Special Thanks to @Superuser1958 and @GhostRX89!
👤 Maintainers : @CyberPhantom52 | @El_pong
💬 Chat: @NothingPhone2
🔔 Updates: @NothingPhone2Updates
Oxygen OS - Port | Android 16 | Nothing Phone (2)
✍️Details:
- Based On: OxygenOS 16.0.3 (Base Oneplus 12R)
- Version: 1.1.0
- Codename: #Pong
- Build date: 23/03/26
🔽 Cnangelog & Download:Here
❌ Known Issues: Here
🔖 Tags: #OxygenOS#Port
⚠️ Notes
- SELinux is Permissive.
- Root: The shipped kernel is rooted with KSU (KernelSU) by default.
- Kernels: Custom kernels are NOT supported.
- Encryption: Storage is NOT encrypted. A Format Data is mandatory if you are currently encrypted.
- This build uses a non-secure crypto engine implementation. Any passwords set for privacy features (such as app lock, app hiding, or file vault) can be easily bypassed by simply deleting the associated storage files. Do not rely on it for real security or for protecting sensitive personal data.
Special Thanks to @Superuser1958 and @GhostRX89
👤 Maintainers : @CyberPhantom52 | @El_pong
💬 Chat: @NothingPhone2
🔔 Updates: @NothingPhone2Updates
Oxygen OS - Port | Android 16 | Nothing Phone (2)
✍️Details:
- Version: 16.0.3 RC.1 (Base Oneplus 12R)
- Codename: #Pong
- Build date: 23/03/26
🔽 Download:Here
💰 Changelogs & Flashing: Here
❌ Known Issues: Here
🔖 Tags: #OxygenOS#Port
⚠️ Notes
- SELinux is Permissive.
- Root: The shipped kernel is rooted with KSU (KernelSU) by default.
- Kernels: Custom kernels are NOT supported.
- Encryption: Storage is NOT encrypted. A Format Data is mandatory if you are currently encrypted.
- FOD Brightness Limitation: The fingerprint scanner will only register successfully when your screen brightness is manually set to at least 70%. Will be fixed in a future release.
- This build uses a NON-secure cryptoeng implementation. Any password protection can be trivially bypassed by deleting the storage files. Use this only to get the features working; do not rely on it for actual security or storing sensitive personal data.
👤 Maintainers : @CyberPhantom52 | @El_pong
💬 Chat: @NothingPhone2
🔔 Updates: @NothingPhone2Updates