2017-05-03 21 views
0

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(); ...' 

を設定しない限り、正常な動作です

+0

** CAUTION:ほとんどのawkでgawkを含む実装では、awkを実行するたびにrand()は同じ開始番号またはシードから数値を生成し始めます。したがって、プログラムは実行するたびに同じ結果を生成します。数字は1つのawk実行内でランダムですが、実行ごとに予測可能です。これはデバッグには便利ですが、プログラムを使用するたびに異なる処理を行うようにするには、シードを実行ごとに異なる値に変更する必要があります。これを行うには、srand()を使用してください。** – RomanPerekhrest

+0

あなたの答えと情報をありがとうございます。私はそれを試しています。 – xPTM1219

答えて

2

...

+0

ありがとうございます。はい、私は代わりにPython乱数システムを使うべきであることを知っています。問題は、これがプロジェクトのためであり、教授がPython、zenity、awkの間のミックスを望むことです。 – xPTM1219

関連する問題