python - 从 cython 写入文件

标签 python cython

通过分析,我确定程序大约 60% 的时间花在写入文件上,一行:

fout.write('%d\t%d\n' % (i, j))

这里 i 和 j 是整数。有两个问题:在 Cython 中实现这一点会给我带来显着的速度增益,以及我将如何在 Cython 中实现它?我无法找到从 Cython 写入文件的示例。

关于最后一点,这一行出现在一个函数中,该函数经常被我的程序的其余部分调用以将输出转储到文件中,因此我想在函数调用之间保持文件打开状态,并传入一个文件对象,而不是在每次调用中重新打开文件。

最佳答案

通过向硬盘发送压缩数据量,您可以获得显着的性能提升,这可以使用 numpy.savez_compressed() 来实现。 ,或以二进制格式写入:

with open('name.output', 'wb') as fout:
    fout.write(data)

Cython 使用与 Python 相同的函数来编写文件,通过 Python API 访问,因此它不应使其更快。

关于python - 从 cython 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21716382/

相关文章:

python - 大数的累积二项分布

python - 如何将儒略日期转换为日历日期?

python - Keras 中一个模型的两个输入

python - 有没有内置的方法可以在 Python 中使用内联 C 代码?

python - 多重继承/虚函数

python - 用python读取GSM调制解调器输出

Python进程没有加入

python - Cython 编译错误,include_path 作为 cythonize 中的关键字

python - Cython 无法在 Windows 7 x64 上编译

python - 通过 Cython 转换为 Python 的基本 C++ 函数