对于初学者来说,我是生物信息学的新手,尤其是编程方面的新手,但我已经构建了一个脚本,它将通过所谓的VCF文件(仅包含个人,一个clumn=一个个人),并使用搜索字符串找出每个变体(系)个体是纯合子还是杂合子。此脚本至少在小的子集上有效,但我知道它将所有内容都存储在内存中。我想在非常大的压缩文件(甚至整个基因组)上执行此操作,但我不知道如何将此脚本转换为逐行执行所有操作的脚本(因为我想计算整列我只是不看看如何解决)。因此每个个体的输出是5个事物(总变异数、纯合子数、杂合子数以及纯合子和杂合子的比例)。请看下面的代码:#!usr/bin/envpythonimportreimportg
我正在构建一项服务,用于记录来自多个来源(每个来源一个文件)的纯文本格式日志。我不打算轮换这些日志,因为它们必须永远存在。为了让这些永远围绕着文件变小,我希望我可以快速压缩它们。由于它们是日志数据,因此文件压缩得很好。在Python中编写仅附加gzip文本文件的好方法是什么,以便在服务打开和关闭时可以稍后恢复写入?我并不担心丢失几行,但如果gzip容器本身出现故障并且文件变得不可读,那就不行了。此外,如果不行,我可以简单地将它们写成纯文本而不用gzip压缩,如果这不值得麻烦的话。 最佳答案 注意:在unix系统上你应该认真考虑使用一
我为python2.7编写代码,但服务器有2.5。我如何重写下一段代码以便它在python2.5.2中运行:gzipHandler=gzip.open(gzipFile)try:withopen(txtFile,'w')asout:forlineingzipHandler:out.write(line)except:pass现在,当我尝试运行脚本时出现此错误:Warning:'with'willbecomeareservedkeywordinPython2.6Traceback(mostrecentcalllast):File"Main.py",line7,infromExtracto
我正在创建压缩文件/文件夹的Python软件...我将如何创建一段代码,要求用户输入文件夹位置,然后对其进行压缩。我目前有单个文件的代码,但没有一个充满文件的文件夹。请详细说明如何执行此操作。 最佳答案 将文件夹压缩为tar文件的代码是:importtarfiletar=tarfile.open("TarName.tar.gz","w:gz")tar.add("folder/location",arcname="TarName")tar.close()它对我有用。希望这对你也有用。 关于
我知道通过将compression='gzip'参数传递给pd.to_csv()我可以将DataFrame保存到压缩的CSV文件中。my_df.to_csv('my_file_name.csv',compression='gzip')我也知道,如果我想附加一个DataFrame到现有CSV文件的末尾,我可以使用mode='a',就像这样my_df.to_csv('my_file_name.csv',mode='a',index=False)但是,如果我想将DataFrame附加到压缩的CSV文件的末尾怎么办?这可能吗?我试着这样做my_df.to_csv('my_file_name.c
我们将介绍Python中的gzip解压。我们还将介绍如何使用gzip解压来解压压缩的内容。Python中的Gzip解压在Python中为压缩和解压目的建立了许多库,但我们将介绍Gzip库。它是一个流行的数据压缩工具。我们可以使用gzip,通过对数据进行特殊格式的编码来减少文件的大小,这种格式不能被人类读取,也很难被压缩。我们可以使用gzip.decompress(),将一个字符串的压缩字节解压成一个原始字符串。在gzip,有两种数据压缩方法。我们将详细讨论这两种方法。第一种方法被称为反向压缩。它是哈夫曼编码的一种特殊类型,可以用来减少数据的大小。另一种方法是gzip解压,我们将在这个例子中使用
我正在使用python-mSimpleHTTPServer为网络浏览器中的本地测试提供一个目录。一些内容包括大型数据文件。我希望能够对它们进行gzip压缩,并让SimpleHTTPServer使用Content-Encoding:gzip为它们提供服务。有没有简单的方法来做到这一点? 最佳答案 这是一个老问题,但对我来说它在Google中仍然排名第一,所以我想正确的答案可能对我旁边的人有用。事实证明,解决方案非常简单。在do_GET()、do_POST等方法中,只需要添加如下内容:content=self.gzipencode(st
我需要临时创建一些文件的解压版本。我见过有人在bash中执行zcatsomefile.gz>/tmp/somefile,所以我在python中创建了这个简单的函数:fromsubprocessimportcheck_calldefunzipto(zipfile,tmpfile):withopen(tmpfile,'wb')astf:check_call(['zcat',zipfile],stdout=tf)但是使用zcat和check_call对我来说似乎很老套,我想知道是否有更多的“pythonic”方式来做到这一点。谢谢你的帮助 最佳答案
我对这段代码有疑问:file=tempfile.TemporaryFile(mode='wrb')file.write(base64.b64decode(data))file.flush()os.fsync(file)#file.seek(0)f=gzip.GzipFile(mode='rb',fileobj=file)printf.read()我不知道为什么它不打印任何东西。如果我取消注释file.seek则会发生错误:File"/usr/lib/python2.5/gzip.py",line263,in_readself._read_gzip_header()File"/usr/l
所以问题来了。我有大约60KB大小的sample.gz文件。我想解压这个文件的前2000个字节。我遇到了CRC校验失败错误,我猜是因为gzipCRC字段出现在文件末尾,它需要整个gzip文件才能解压缩。有办法解决这个问题吗?我不关心CRC检查。即使我因为错误的CRC而无法解压,也没关系。有没有办法解决这个问题并解压缩部分.gz文件?我目前的代码是importgzipimporttimeimportStringIOfile=open('sample.gz','rb')mybuf=MyBuffer(file)mybuf=StringIO.StringIO(file.read(2000))f