首页 > 解决方案 > IPython /bin/bash: /bin/bashfile.txt: 权限被拒绝

问题描述

这个问题在 IPython 内部:

1)当我运行以下,它工作正常

for x in range(10):
    !date
Tue Jun 12 13:25:18 EDT 2018
Tue Jun 12 13:25:18 EDT 2018
Tue Jun 12 13:25:18 EDT 2018
Tue Jun 12 13:25:18 EDT 2018
Tue Jun 12 13:25:18 EDT 2018
Tue Jun 12 13:25:18 EDT 2018
Tue Jun 12 13:25:18 EDT 2018
Tue Jun 12 13:25:18 EDT 2018
Tue Jun 12 13:25:18 EDT 2018
Tue Jun 12 13:25:18 EDT 2018

2)当我想将它重定向到文件中时,它会给出以下错误消息:

for x in range(10):
    !date > ${x}.txt

/bin/bash: /bin/bashfile.txt: Permission denied

老实说,我不确定为什么会收到该错误消息。我不明白。

标签: ipython

解决方案


如果您想将 Python 变量的值x插入到 IPython 中的 shell 命令中,则其语法为$xor {x}, not${x}。当x是时0${x}扩展为$0,然后 shell 会为其进行自己的扩展。你的命令应该是

!date > {x}.txt

(它不太可能$0扩展到/bin/bashfile,这表明您可能实际上并没有运行您发布的代码。)


推荐阅读