运行python命令行解释器,导入自动加载

sta*_*ord 17 python

我想在python解释器中玩,但有一堆导入和对象设置完成.现在我正在命令行启动解释器并每次都进行设置工作.有没有办法在完成所有初始化工作的情况下启动命令行解释器?

例如:

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

srg*_*erg 31

您可以使用python -i要自动运行的代码创建脚本,然后使用它来运行它.例如,使用以下命令创建一个脚本(我们称之为script.py):

import foo
import baz
l = [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

然后运行脚本

$ python -i script.py
>>> print l
[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

脚本完成运行后,python会让您进入一个交互式会话,脚本的结果仍然存在.

如果你真的想在每次运行python时都做一些事情,你可以将环境变量设置为PYTHONSTARTUP每次启动python时都会运行的脚本.请参阅交互式启动文件中的文档.


Pet*_*ich 6

我用PYTHONSTARTUP

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

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


Bil*_*kil 5

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

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

export PYTHONPATH=$READ_GEN_PATH:$PYTHONPATH

alias prepy="python3 -i -c \"
from naive_short_read_gen import ReadGen
from neblue import neblue\""
Run Code Online (Sandbox Code Playgroud)

在本例中neblue,位于 CWD 中(因此不需要路径扩展),而位于naive_short_read_gen我系统上的任意目录中,该目录是通过$READ_GEN_PATH.

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