Mor*_*ock 10 python linux bash alias
我在Linux下从命令行(Bash)启动Python脚本.我需要打开Python,导入一个模块,然后解释代码行.然后控制台必须保留在Python中(不要退出).我怎么做?
我尝试过像这样的别名:
alias program="cd /home/myname/programs/; python; import module; line_of_code"
Run Code Online (Sandbox Code Playgroud)
但这只会启动python并且命令不会执行(没有模块导入,没有处理代码行).
如果我需要在脚本执行后保持Python打开(不退出),那么这样做的正确方法是什么?非常感谢!
一个简单的方法是使用"代码"模块:
python -c "import code; code.interact(local=locals())"
Run Code Online (Sandbox Code Playgroud)
当调用code.interact()时,这将使您进入交互式shell.该local关键字参数interact是用来预填充为创建解释器的默认命名空间; 我们将使用locals(),这是一个内置函数,它将本地名称空间作为字典返回.
你的命令看起来像这样:
python -c "import mymodule, code; code.interact(local=locals())"
Run Code Online (Sandbox Code Playgroud)
这会让你进入一个拥有正确环境的翻译.
使用子例程而不是别名
callmyprogram(){
python -i -c "import time;print time.localtime()"
}
callmyprogram
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18329 次 |
| 最近记录: |