IPython魔法命令和破折号

2024-06-11 10:19:15 发布

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

我最近把我的默认shell切换到IPython,而不是bash,方法是创建一个IPython配置文件,同时打开automagic、autocall和其他类似功能。为了使可执行文件对IPython环境可见,我在配置文件中包含了自动运行的%rehashx。这样做的问题是,名称中带有破折号的命令(如xdg-open)没有正确地转换为magic命令,因此需要使用shell转义语法来运行。有没有一种方法可以自动生成带有破折号的命令,这样我就可以更紧密地模拟类似bash的命令调用?在


Tags: 方法命令功能名称bash可执行文件环境配置文件
1条回答
网友
1楼 · 发布于 2024-06-11 10:19:15

你必须接受这个。在

如果标识符是跨语言边界处理的(在本例中是bash/Python),那么如果语言的标识符规则允许不同的东西(在本例中,-在bash中是允许的,而在Python中不允许)。解决这个问题的一种方法是名称混乱。有时这样做,例如用允许的字符替换有问题的字符(例如,xdg-open替换为xdg_open);为了避免名称冲突(例如,如果除了xdg-open之外已经有一个xdg_open),则替换通常以某种方式转义,例如通过字符的十六进制值转义(例如-替换_2d_由{}等)。您可能会从包含%20之类的内容的URL行中知道这一点。这一切要么很快就变得不可读,要么名字的修改规则非常复杂(这是一种权衡)。在

相关问题 更多 >