如何在Nim中打开和读取.gz文件(最好逐行)

马克·埃伯特

我只是坐下来编写我的第一个Nim脚本来解析.vcf(变体调用格式)文件。此文件格式存储来自测序数据的遗传突变。

对于脚本语言,我“长大了” Perl,后来又迁移到Python,但是我很想使用一种速度可Nim提供的语言我意识到自己Nim还很年轻,但是我什至找不到关于如何打开和读取.gzgzip)文件(最好是逐行)的清晰示例

谁能提供一个简单的示例来逐行打开和读取gzip文件Nim

在中Python,我习惯于以下(超级简单)代码:

import gzip

my_file = gzip.open('my_file.vcf.gz', 'w')
for line in my_file:
    # do something

my_file.close()

我看到了相关的问题,但不清楚。这些职位也相对较旧,我希望/怀疑会出现更好的情况。这是我发现的:

  1. 逐行读取gzip压缩文件
  2. File,FileStream和GZFileStream
  3. 从Nim中的tar.gz存档中读取文件

真的很感激。

PS我也认为,如果有人Nim在StackOverflow中创建标签,它将很有用我没有创建标签的声誉。

马克·埃伯特

根据莫里斯·迈耶(Maurice Meyer)的建议,我查看Nim拉链包测试事实证明这很简单。这是我的第一个脚本,所以如果不遵守约定,我深表歉意。Nim

import zip/gzipfiles  # Import zip package

block:
  let vcf = newGzFileStream("my_file.vcf.gz")  # Open gzip file
  defer: outFile.close()  # Close file (like a 'final' statement in 'try' block)

  var line: string  # Declare line variable

  # Loop over each line in the file
  while not vcf.atEnd():
    line = vcf.readLine()

    # Cure disease with my VCF file

要安装该zip软件包,我只是运行了,因为它已经在Nim软件包库中

> nimble refresh
> nimble install zip

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档