python numpy log2在使用Popen时返回-inf
我正在尝试运行这条线路:python numpy log2在使用Popen时返回-inf,python,numpy,subprocess,Python,Numpy,Subprocess,我正在尝试运行这条线路: print(np.log2( (ngram_list.count(('i',)) + 1 )/( 100000 + len(set(n1gram_list)) ))) 当我从终端运行脚本时,得到-1.54814270552。 但是当我通过subprocess.Popen运行相同的脚本时,我得到了-inf。 基本上,每当log2的输出为正时,我在这两种方法中都会得到正确的输出,但对于负值,我只有在使用Popen时才能得到-inf。在使用Popen时,您似乎在使用Pyth
print(np.log2( (ngram_list.count(('i',)) + 1 )/( 100000 + len(set(n1gram_list)) )))
当我从终端运行脚本时,得到-1.54814270552。
但是当我通过subprocess.Popen运行相同的脚本时,我得到了-inf。
基本上,每当log2的输出为正时,我在这两种方法中都会得到正确的输出,但对于负值,我只有在使用Popen时才能得到-inf。在使用
Popen
时,您似乎在使用Python 2,它使用整数除法
使用来自“未来”导入部分的
,将100000+len(set(n1gram\u list))
转换为float,或者调用Python 3。在Popen中,我运行命令“Python lm.py”。当我尝试运行“python3 lm.py”时,什么都没有发生。如何使用python 3运行此命令?我们没有足够的示例来验证此结果。请看,然后提供一个。否则,您的问题可能会被搁置或关闭。