複数のpythonコマンドを1つのシステムコール(R)に渡す必要があり、構文に問題があります。私は結合しようとしている何R複数のPythonコマンドを使用したシステムコール
:
system("python "file1.py" -f "module_to_load1.py" -o "output_loc_file1"")
system("python "file2.py" -f "module_to_load2.py" -o "output_loc_file2"")
簡体コード:
pystr="python -c print('hi')"
system(paste(pystr, " && ", pystr, sep=""))
私の所望の出力は次のとおりです。
hi
hi
私は、コマンドに直接コードを入力した場合プロンプトが表示されたら、希望の出力が得られます:
python -c print('hi') && python -c print('hi')
>> hi
>> hi
しかし、システムコールでは単一の「hi」しか返されないため、私のダムエラーが何であるか把握できません。どんな助けでも大歓迎です。
私は実際のコードでは2つのpythonファイルを呼び出していますが、それぞれはargparseも使用しています(明確にするために完全なコードを追加しました)。 2つのシステムコールを直列に持つmy.pyを作ることができます - それはお勧めでしょうか? –
すべての '.py'を' master.py'にモジュールとしてインポートし、それを単一の 'system()'呼び出しで実行します。 – Parfait
@ r-noob。それを1つにロールアップしてください。これはRからの呼び出しを単純化し、Dirkが説明したように引用符を計算するという面倒を避けます。 –