我要测试系统是否在多个平台上(至少在Linux和Windows上)正确读写文件(文本模式/二进制模式)。 (使用pytest)。
请参见https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files
例如,可以使用pyfakefs模拟文件系统。 但是在Linux上运行测试时,我找不到用于模拟Windows操作的模拟程序,该操作以文本模式打开的文件。
是否可以在Linux上以文本模式强制将eol(\ r \ n转换为\ n)?
答案 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')
...