我試圖將隨機數的結果從awk命令存儲到Python變量中。我已經使用os.popen來創建命令,但它總是給我一個相同的數字,當我打印時它是512。 這是行var = os.popen("awk 'BEGIN {print int(9*rand()) ' ' int(9*rand()) }'").read()
如何將awk中的值存儲在Python變量中
在此先感謝!
我試圖將隨機數的結果從awk命令存儲到Python變量中。我已經使用os.popen來創建命令,但它總是給我一個相同的數字,當我打印時它是512。 這是行var = os.popen("awk 'BEGIN {print int(9*rand()) ' ' int(9*rand()) }'").read()
如何將awk中的值存儲在Python變量中
在此先感謝!
提供預期的行爲,除非你設置種子
awk 'BEGIN{srand(); ...'
,另一方面你使用awk
隨機值生成的,而不是Python中的做法是值得商榷的...
非常感謝您的回答。是的,我知道我應該使用Python隨機數字系統,它會容易得多。問題在於這是一個項目,教授想要Python,zenity和awk之間的混合。 – xPTM1219
**注意:在大多數AWK包括gawk,rand()在內的實現會在每次運行awk時從相同的起始編號或種子開始生成數字。因此,每次運行程序時都會生成相同的結果。這些數字在一個awk運行中是隨機的,但從運行到運行可以預測。這對調試很方便,但如果您希望程序在每次使用時都執行不同的操作,則必須將種子更改爲每次運行時不同的值。要做到這一點,請使用srand()。** – RomanPerekhrest
非常感謝您的回答和信息。我會嘗試。 – xPTM1219