Часто, когда я использую оболочку IDLE, я импортирую модуль pickle
. Можно ли сделать так, чтобы он автоматически импортировал pickle
при запуске?
Как заставить IDLE автоматически импортировать модули при запуске?
comment
@Burhan Khalid: не дубликат, поскольку это решение предназначено для оболочки Python, а не простоя. Эти решения не работают на холостом ходу.
- person Martin Tournoij   schedule 01.09.2014
comment
@Burhan Khalid: я основной разработчик CPython и в настоящее время главный разработчик Idle. Ковровый курильщик прав; это не дубликат. Пользовательский код не выполняется в основном модуле. Вот почему обычные решения Python для выполнения кода в модуле main бесполезны. На самом деле, они могут быть даже опасны в смысле отключения Idle. Пользовательский код вместо этого выполняется в отдельном пространстве имен, предназначенном для имитации main. Поэтому требуются отдельные средства для воздействия на среду пользовательского кода.
- person Terry Jan Reedy   schedule 15.09.2014
Ответы (1)
Вы можете использовать аргумент -c
или -r
:
От idle -h
:
-c cmd run the command in a shell, or
-r file run script from file
Например:
idle -c 'import pickle, sys'
Or:
idle -r ~/my_startup.py
Где my_startup.py
может содержать:
import pickle, sys
Вы можете либо создать псевдоним оболочки, чтобы всегда использовать его, либо создать отдельный скрипт; процедура для этого отличается в зависимости от вашей ОС и оболочки.
person
Martin Tournoij
schedule
01.09.2014
Согласно моему тесту с использованием -c import itertools, эффект исчезает при перезапуске оболочки, как при запуске файла из редактора. У меня есть идея частично исправить это, запустив файлы в отдельном процессе и оставив только интерактивную оболочку, но это в лучшем случае в будущем.
- person Terry Jan Reedy; 15.09.2014