在自动加载导入的情况下运行python命令行解释器

2024-04-24 07:17:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python解释器中玩一玩,但是完成了一堆导入和对象设置。现在我在命令行上启动解释器,并且每次都做设置工作。有没有办法在所有初始化工作完成后启动命令行解释器?

例如:

# Done automatically.
import foo
import baz
l = [1,2,3,4]
# Launch the interpreter.
launch_interpreter()
>> print l
>> [1,2,3,4]

Tags: the对象命令行importfoobazlaunch解释器
3条回答

可以使用希望自动运行的代码创建脚本,然后使用^{}运行它。例如,使用以下命令创建一个脚本(我们称之为script.py):

import foo
import baz
l = [1,2,3,4]

然后运行脚本

$ python -i script.py
>>> print l
[1, 2, 3, 4]

脚本运行完成后,python会让您处于交互式会话中,脚本的结果仍然存在。

如果您真的希望在每次运行python时都执行一些操作,可以将环境变量PYTHONSTARTUP设置为一个脚本,该脚本将在每次启动python时运行。请参阅interactive startup file上的文档。

我用PYTHONSTARTUP

我的.bash_profile有一个指向我的主文件夹.pyrc的路径,它作为其中的导入语句。

https://docs.python.org/3/using/cmdline.html#envvar-PYTHONSTARTUP

我在尝试为我的研究配置一个新的desk时遇到了这个问题,发现上面的答案并不完全符合我的愿望:将整个桌面配置包含在一个文件中(这意味着我不会按照@srgerg的建议创建一个单独的script.py)。

这就是我最终实现目标的方式:

export PYTHONPATH=$READ_GEN_PATH:$PYTHONPATH

alias prepy="python3 -i -c \"
from naive_short_read_gen import ReadGen
from neblue import neblue\""

在这种情况下,neblue在CWD中(因此不需要路径扩展),而naive_short_read_gen在系统上的任意目录中,通过$READ_GEN_PATH指定。

如果需要,可以在一行中完成此操作:alias prepy=PYTHONPATH=$EXTRA_PATH:$PYTHONPATH python3 -i -c ...

相关问题 更多 >