运行.py生成不同的输出,而.exe很好

时间:2015-08-14 07:23:04

标签: python execution

我正在为我的日志转换器应用程序构建一个回归,它是用Python编写的。我发现了一个非常奇怪的情况,当通过直接运行Python脚本进行转换时,&#34; Python myConverter.py -i <input> -o <output>&#34;直接地,输出通常在顺序上略有不同,但内容是相同的。就像json字符串中的元素顺序或日志条目的顺序一样。

但是,如果我编译Python并运行.exe ,则不会发生这种情况。

E.g.
(log1)
foo={bar1:a, bar2:b, bar3:c, bar4:d}
(log2)
foo={bar3:c, bar4:d, bar1:a, bar2:b}

E.g.2
(log1)
line1
line2
line3
line4
line5
(log2)
line2
line1
line3
line5
line4

我的环境设置:

  • Python 2.6

  • 这是一个单一的流程应用程序,我没有明确使用任何并行处理技术。

  • 对于json序列化/反序列化,我使用&#34; import json&#34;。

我觉得Python解释器为不同的运行产生不同的输出。关于如何发生这种情况的任何想法?



校正:

运行可执行文件5次后,我发现它也产生不同的输出!!因此,似乎提到的评论,dict可能导致这个问题。

0 个答案:

没有答案