Run.py生成不同的输出,而.exe是fin

2024-06-16 13:46:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为我的日志转换器应用程序构建一个回归,它是用Python编写的。我发现一个非常奇怪的情况,当直接运行Python脚本进行转换时,直接使用“Python myConverter.py -i <input> -o <output>”,输出的顺序通常略有不同,但是内容是相同的。就像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序列化/反序列化,我使用“import json”。

我觉得Python解释器为不同的运行产生不同的输出。你知道怎么会这样吗?你知道吗



更正:

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


Tags: json应用程序foo顺序情况log2log1line1