jupyter-notebook - 如何在 jupyter bash 魔术中同时引用 python 和环境变量?
问题描述
我想添加一个带有环境变量和 python 变量的 bash 魔术单元,如下所示:
!echo "{1+1}" "$HOME"
期待它打印:
2 /home/ec2-user
但是,这不会评估 python 表达式,输出是:
{1+1} /home/ec2-user
删除环境变量使 python 表达式工作:
!echo "{1+1}" "HOME"
2 HOME
打印这两个变量的正确语法是什么?
解决方案
https://ipython.readthedocs.io/en/stable/interactive/reference.html#system-shell-access
该文档有一个带有$$HOME
.
In [27]: !echo $HOME
/home/paul
In [28]: !echo $$HOME
/home/paul
In [29]: !echo {i+3} $$HOME
5 /home/paul
看起来$var
可以被解析为局部变量的替换,或者将其传递给 shell 以进行评估。 $$HOME
似乎强制使用shell。但是从文档中并不清楚它是如何处理这些细节的。
推荐阅读
- openssl - 我正在尝试实现一对使用 SSL 创建自签名证书以在它们之间传递一些数据的 AWS 服务器
- bnf - 这三个非终结符(expr、term 和 factor)在这个整数算术表达式的 BNF 中是什么意思?
- java - 在 selenium JAVA 中提取文本 br 标签
- java - 在spring boot中从属性文件中注入值数组
- javascript - 将 Array 对象转换为字符串 jquery
- http - 什么被认为是 HTTP 标头中的空白
- php - MySQL 注册案例
- php - 比较时间时获取数据
- multithreading - 在 QThread.exit() 上立即停止处理事件队列
- hashmap - 如何在 GDB 中漂亮地打印 Rust HashMap?