【问题标题】:Translation of Shell Script in to Python [closed]将 Shell 脚本翻译成 Python [关闭]
【发布时间】:2014-08-13 21:12:06
【问题描述】:

我想编写一个 python 代码来为我运行以下 Shell 脚本的工作:

for run in {1..100}
do
/home/Example.R
done

shell 脚本基本上是运行一个 R 脚本 100 次。由于我是 python 新手,有人可以帮我用 python 编写这段代码吗?

【问题讨论】:

  • 你可以直接从python调用shell脚本,查看this线程了解更多信息。
  • @Elias 你是对的,但我想了解如何在不运行此 Shell 脚本的情况下直接从 python 运行该 R 脚本。

标签: python shell


【解决方案1】:

你可以使用 subprocess.call 来做一个外部命令:

from subprocess import call

for i in xrange(100):
  call(["/home/Example.R"])

【讨论】:

    【解决方案2】:

    您可以使用 python 的commands 模块来执行外部命令并捕获它们的输出。 该模块有一个函数commands.getstatusoutput(cmd),其中cmd 是您要运行的命令,作为一个字符串。

    这样的事情可以解决问题:

    import commands
    for x in xrange(100):
      commands.getstatusoutput("/home/Example.R")
    

    for 循环的每次迭代,commands.getstatusoutput() 函数甚至会返回一个元组 (status, output),其中 status 是执行程序后的状态,输出是该命令将写入 stdout 的任何内容。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-12
      • 1970-01-01
      • 2014-04-25
      • 2021-10-04
      • 2023-03-11
      • 2013-07-24
      • 2023-01-24
      • 1970-01-01
      相关资源
      最近更新 更多