2014-09-01 54 views
1

通常,当我使用IDLE外壳时,我导入pickle模块。我可以在启动时自动导入pickle吗?是否可以告诉IDLE python shell每次启动时自动导入模块?

+0

@Burhan Khalid:不是重复的,因为该解决方案适用于Python shell,而不是闲置。这些解决方案不适用于闲置。 – Carpetsmoker 2014-09-01 10:49:26

+1

@Burhan Khalid:我是CPython核心开发人员,目前是主要的空闲开发人员。 Carpetsmoker是正确的;这不是重复的。用户代码在__main__模块中执行* not *。这就是为什么在__main__模块中执行代码的普通python解决方案毫无用处。事实上,他们甚至可能在禁用空闲的意义上是危险的。用户代码是在一个单独的命名空间中执行的,用于模拟__main__。因此需要单独的手段来影响用户代码的环境。 – 2014-09-15 05:11:57

回答

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' 

或者:

idle -r ~/my_startup.py 

my_startup.py可能包含:

import pickle, sys 

您可以创建一个shell别名始终使用此,或创建一个单独的脚本;这个过程取决于您的操作系统和外壳。

+1

根据我使用-c“import itertools”的测试,当shell重新启动时,效果消失,就像从编辑器运行文件时那样。我有一个想法来部分解决这个问题,通过在单独的进程中运行文件并保留交互式shell,但这是最好的将来。 – 2014-09-15 05:18:41

相关问题