gpt4 book ai didi

python - 从 bash 脚本中生成并执行 R、Python 等脚本

转载 作者:太空狗 更新时间:2023-10-30 01:46:19 28 4
gpt4 key购买 nike

一段时间以来,我一直在努力寻找解决方案,但还没有找到令人满意的解决方案。我写了很多 bash 脚本,但有时我想使用 R 或 Python 作为脚本的一部分。现在,我最终不得不编写两个脚本;执行前半部分任务的原始 bash 脚本,以及执行后半部分任务的 R 或 Python 脚本。我从 bash 脚本中调用 R/Python 脚本。

我对这个解决方案不满意,因为它将我的程序拆分为两个文件,这增加了事情不同步、需要跟踪更多文件等的可能性。有没有一种方法可以编写包含以下内容的文本 block 我的整个 R/Python 脚本,然后让 bash 将它输出到一个文件中并向它传递参数并执行它?有更简单的解决方案吗?这比将简单的一行代码传递给 R/Python 更复杂,因为它通常涉及通过几个步骤创建和操作对象。

最佳答案

可能有很多解决方案,但这个有效:

#!/bin/bash
## do stuff
R --slave <<EOF
## R code
set.seed(101)
rnorm($1)
EOF

如果您想灵活地将额外的 bash 参数传递给 R,我建议:

#!/bin/bash
## do stuff
R --slave --args $@ <<EOF
## R code
set.seed(101)
args <- as.numeric(commandArgs(trailingOnly=TRUE))
do.call(rnorm,as.list(args))
EOF
  • 这允许灵活数量的参数,但假设它们都是数字
  • 它还假定所有参数都将从 bash 脚本传递到 R 子脚本

显然你可以放宽这些,例如按位置引用参数

关于python - 从 bash 脚本中生成并执行 R、Python 等脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33769018/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com