我有一个包含如下记录的文件:
>uniqueid#BARCODE1
content content
content content
>uniqueid#BARCODE2
content content
content content
>uniqueid#BARCODE1
content content
content content
...
共有约1000万条记录,包含约300个唯一的条形码,条形码的顺序是随机的。我的目标是将文件拆分为300个文件。我只想用一个生成记录的生成器对文件进行一次遍历
在过去,我通过多次读取文件或将整个文件加载到内存中,解决了这个问题。我想使用生成器方法来解决这个问题,以降低内存使用率,并且只读取文件一次
是否可以实例化300个生成器,并使用一些逻辑将记录发送到正确的生成器?然后我可以简单地将每个生成器的内容写入一个文件。然后,我是否需要打开所有300个文件的句柄,以便一次写入
是的,可以用发电机,但我们不需要300台,一台就足够了
据我所知
'uniqueid#BARCODE1'
条形码由两部分组成:'>uniqueid#'
前缀'BARCODE1'
条形码本身李>让我们从编写简单的检查器开始
然后,为了解析条形码内容,我们可以编写生成器
然后假设你想用我们可以写的条形码命名文件
在整个文件中只走了一次
试验
让我们创建
src.txt
文件,其中包括然后打电话之后
将创建以下文件:
BARCODE1
带行BARCODE2
带行BARCODE3
带行相关问题 更多 >
编程相关推荐