gpt4 book ai didi

python - 为单元测试创​​建一个类似对象的 gzip 文件

转载 作者:行者123 更新时间:2023-12-03 16:11:39 25 4
gpt4 key购买 nike

我想测试一个 Python 函数,它读取一个 gzip 文件并从文件中提取一些东西(使用 pytest)。

import gzip

def my_function(file_path):
output = []

with gzip.open(file_path, 'rt') as f:
for line in f:
output.append('something from line')

return output

我可以创建一个像对象一样的 gzip 文件,我可以传递给 my_function ?该对象应已定义内容并应与 gzip.open() 一起使用

我知道我可以在 fixture 中创建一个临时 gzip 文件,但这取决于文件系统和环境的其他属性。从代码创建类似文件的对象会更便携。

最佳答案

您可以使用 io gzip 库来创建内存文件对象。例子:

import io, gzip

def inmem():
stream = io.BytesIO()
with gzip.open(stream, 'wb') as f:
f.write(b'spam\neggs\n')
stream.seek(0)
return stream

关于python - 为单元测试创​​建一个类似对象的 gzip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60436768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com