首页 > 解决方案 > python测试:写入3,读取2

问题描述

我正在使用一个主要读取和写入文件并且需要在 python2 和 python3 中互操作的库。我发现有时由于字符串表示等原因,无法在 python2 中打开用 python3 编写的文件。我还看到不同版本的泡菜也会出现类似的问题。我想为 py2/py3 互操作性编写测试。编写使用多个 python 会话进行单个测试的测试的最佳方法是什么?子流程在这里有用吗?

标签: pythonunit-testingpython-2to3

解决方案


对于 python 2 和 3,文件可以以相同的方式打开。现在,如果您存储字符串表示形式和/或 pickle 数据,文件内容可能会有所不同,但可以通过不使用这些结构来避免这种情况 - 改用一些常见的数据格式,如 json 或一个 sql 数据库,甚至是一个简单的 csv 文本文件。然后你的文件将在 python 2 和 3 上读取相同的内容。


推荐阅读