如何在Python变量中存储来自awk的值

如何在Python变量中存储来自awk的值,python,linux,awk,Python,Linux,Awk,我试图将来自awk命令的随机数结果存储到Python变量中。我使用os.popen来生成命令,但它总是给我相同的数字,打印时是512。 这是行var=os.popen(“awk'BEGIN{print int(9*rand())”“int(9*rand())}”)。read() 提前谢谢 除非设定种子,否则这是预期行为 awk 'BEGIN{srand(); ...' 另一方面,使用awk而不是Python生成随机值的方法是有问题的…除非设置种子,否则这是预期的行为 awk 'BEGIN{sr

我试图将来自awk命令的随机数结果存储到Python变量中。我使用os.popen来生成命令,但它总是给我相同的数字,打印时是512。 这是行
var=os.popen(“awk'BEGIN{print int(9*rand())”“int(9*rand())}”)。read()


提前谢谢

除非设定种子,否则这是预期行为

awk 'BEGIN{srand(); ...'

另一方面,使用
awk
而不是Python生成随机值的方法是有问题的…

除非设置种子,否则这是预期的行为

awk 'BEGIN{srand(); ...'

另一方面,使用
awk
而不是Python生成随机值的方法是值得怀疑的…

注意:在大多数awk实现中,包括gawk,每次运行awk时,rand()都会从相同的起始数字或种子生成数字。因此,程序每次运行时都会生成相同的结果。这些数字在一次awk运行中是随机的,但在不同的运行中是可预测的。这便于调试,但如果希望程序在每次使用时执行不同的操作,则必须将种子更改为每次运行时都不同的值。为此,请使用srand()。非常感谢您的回答和信息。注意:在大多数awk实现中,包括gawk,每次运行awk时,rand()都会从相同的起始编号或种子开始生成编号。因此,程序每次运行时都会生成相同的结果。这些数字在一次awk运行中是随机的,但在不同的运行中是可预测的。这便于调试,但如果希望程序在每次使用时执行不同的操作,则必须将种子更改为每次运行时都不同的值。为此,请使用srand()。非常感谢您的回答和信息。我会试试的。非常感谢你的回答。是的,我知道我应该改用Python随机数系统,这样会容易得多。问题是,这是一个项目,教授希望在Python、zenity和awk之间进行混合。非常感谢您的回答。是的,我知道我应该改用Python随机数系统,这样会容易得多。问题是,这是一个项目,教授希望在Python、zenity和awk之间进行混合。