【问题标题】:IPython /bin/bash: /bin/bashfile.txt: Permission deniedIPython /bin/bash: /bin/bashfile.txt: 权限被拒绝
【发布时间】:2018-06-12 17:31:28
【问题描述】:

这个问题在 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

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

【问题讨论】:

  • 您是否希望${x} 插入循环计数器的当前值?这不是语法的工作原理。
  • 您不能以普通用户的身份写信给/bin/。请使用其他路径。
  • 遵循“OReilly 的用于 Unix 和 Linux 系统管理的 Python”——第 43 页。

标签: ipython


【解决方案1】:

如果你想将 Python 变量 x 的值插入到 IPython 中的 shell 命令中,the syntax for that is $x or {x}, not ${x}。当x 是0 时,${x} 会扩展为$0,然后shell 会对其进行自己的扩展。你的命令应该是

!date > {x}.txt

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

【讨论】:

    【解决方案2】:

    不确定您究竟想在这里做什么,但您正在尝试写入一个您没有写入权限的文件。

    创建一个新文件并尝试写入它,你会成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-21
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多