是否可以模拟用于以二进制和文本模式读取和写入文件的平台?

时间:2019-05-07 14:39:53

标签: python testing

我要测试系统是否在多个平台上(至少在Linux和Windows上)正确读写文件(文本模式/二进制模式)。 (使用pytest)。

请参见https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files

例如,可以使用pyfakefs模拟文件系统。 但是在Linux上运行测试时,我找不到用于模拟Windows操作的模拟程序,该操作以文本模式打开的文件。

是否可以在Linux上以文本模式强制将eol(\ r \ n转换为\ n)?

1 个答案:

答案 0 :(得分:0)

只是偶然发现了-虽然这是一个古老的问题,但答案可能会帮助其他人... 在pyfakefs中,您可以change your fake file system,例如(例如pytest中的示例):

    def test_windows_stuff_under_linux(fs):
        fs.is_windows_fs = True
        file_path = 'C:/foo/bar/baz'
        with open(file_path, 'w') as f:
            f.write('Some content\n with newlines\n')
        ...