【发布时间】:2015-03-17 03:10:33
【问题描述】:
我有一个在 C# 应用程序(我无法控制其源代码)中运行的 python 脚本,我希望这个脚本生成一个任意大小的文件。此文件中的数据无关紧要。我写了以下代码:
def generateFile(filename, size):
file = open(filename, 'wb')
file.write(''.join('0' for _ in range(size)))
file.close()
IronPython 在这个 C# 应用程序中的集成总体上非常缓慢,但大部分都可以接受。然而,这段代码太慢了。生成一个 1KB 的文件大约需要 20 秒,而我需要生成大约 1M 或更大的文件。
经过一番调查,似乎缓慢主要来自生成用于写入文件的字符串。
是否有另一种方法可以在更快、可接受的时间内完成相同的任务?
【问题讨论】:
-
试试
file.write('0' * size) -
@thefourtheye 效果很好.... o_o 请把它作为答案。我想我应该试试其他的。
标签: c# python string performance ironpython