我正在为我的日志转换器应用程序构建一个回归,它是用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可能导致这个问题。你知道吗
这段代码说明了字典的顺序取决于插入顺序:
Order of keys in a different Python dict()
相关问题 更多 >
编程相关推荐