Ruby exec缓存python脚本响应

Ruby exec缓存python脚本响应,python,ruby,exec,Python,Ruby,Exec,我使用exec从Ruby执行Python,如下所示: 红宝石 array = ['first string', 'second string'] array.each { |s| result = exec("python print_string.py -s '#{s}'") puts result } Python import argparse parser = argparse.ArgumentParser(description='Print string app') p

我使用
exec
从Ruby执行Python,如下所示:

红宝石

array = ['first string', 'second string']
array.each { |s| 
  result = exec("python print_string.py -s '#{s}'")
  puts result
}
Python

import argparse

parser = argparse.ArgumentParser(description='Print string app')
parser.add_argument('-s', '--strg', type=str, help='shows string')
args = parser.parse_args()

print(args.strg)
2个问题:

  • 输出只是“第一个字符串”,而“第二个字符串”从未得到 印刷品
  • 将“第一个字符串”更改为其他任何内容并重新运行ruby 脚本仍然生成“第一个字符串”

    • 你做错了。强调我的文件:

      通过运行给定的外部命令替换当前进程


      您需要
      系统
      ,它只是将命令作为子进程运行。

      您做错了。强调我的文件:

      通过运行给定的外部命令替换当前进程


      您需要的是
      system
      ,它只是将命令作为子进程运行。

      好吧,我将
      exec
      更改为
      system
      ,它现在工作了好吧,我将
      exec
      更改为
      system
      ,它现在工作了