awkコマンドの乱数の結果をPython変数に格納しようとしています。私はコマンドを作るためにos.popenを使いましたが、それは私にいつも同じ番号を与えます。それはいつも私がそれを印刷すると512です。 これは行ですvar = os.popen("awk 'BEGIN {print int(9*rand()) ' ' int(9*rand()) }'").read()
awkからの値をPython変数に格納する方法
ありがとうございます!あなたの代わりにPythonののランダム値生成のためのawk
を使用してあなたのアプローチは疑問である一方、シード
awk 'BEGIN{srand(); ...'
を設定しない限り、正常な動作です
** CAUTION:ほとんどのawkでgawkを含む実装では、awkを実行するたびにrand()は同じ開始番号またはシードから数値を生成し始めます。したがって、プログラムは実行するたびに同じ結果を生成します。数字は1つのawk実行内でランダムですが、実行ごとに予測可能です。これはデバッグには便利ですが、プログラムを使用するたびに異なる処理を行うようにするには、シードを実行ごとに異なる値に変更する必要があります。これを行うには、srand()を使用してください。** – RomanPerekhrest
あなたの答えと情報をありがとうございます。私はそれを試しています。 – xPTM1219