Skip to content

NC_1.fastq.gz

image.png

导入模块

import gzip

GzipFile对象

gzip.GzipFile(filename=None, mode=None, compresslevel=9, fileobj=None, mtime=None)

  1. filename:一个实际的文件名(一个 str 对象或者 bytes 对象),或者是一个用来读写的已存在的文件对象

  2. mode只能是二进制模式

with gzip.GzipFile("NC_1.fastq.gz", "rb") as file:
    print(file.readline())
    print(file.readline())
    print(file.readline())
    print(file.readline())

"""
b'@A00917:294:HC5KJDSXY:2:1101:2700:1689\n'
b'TTGAGAGGCTGAGGCAGGAGGATCACTGGGGCCCAGGAGGTTGAGCCTACAATGAGTTATGATCATGCCACTGCACTCCAGCCTGAGTAACAAAGTGAGACCTTGTGTCTTAAAAAAACAAAAACCACTAAAATAGCAACAAGAGCAGTA\n'
b'+\n'
b'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFF:FFF\n
"""

函数

open

gzip.open(filename, mode='rb', compresslevel=9, encoding=None, errors=None, newline=None)

以二进制方式或者**文本方式**打开一个 gzip 格式的压缩文件,返回一个 file object

二进制模式:gzip.open(filename, mode='rb')等价于gzip.GzipFile(filename=None, mode=None) 文本模式:相当于file.open()下的文本模式

  1. filename:一个实际的文件名(一个 str 对象或者 bytes 对象),或者是一个用来读写的已存在的文件对象

  2. mode:默认值是 'rb'

  3. 二进制模式:'r', 'rb', 'a', 'ab', 'w', 'wb', 'x' 或 'xb'

  4. 文本模式:'rt', 'at', 'wt', 或 'xt'

  5. compresslevel:同上

  6. encoding:同file.open(),仅用于文本模式

  7. errors:同file.open(),仅用于文本模式

  8. newline:同file.open(),仅用于文本模式

with gzip.open("NC_1.fastq.gz", "rt") as file:
    print(file.readline())
    print(file.readline())
    print(file.readline())
    print(file.readline())

"""
@A00917:294:HC5KJDSXY:2:1101:2700:1689

TTGAGAGGCTGAGGCAGGAGGATCACTGGGGCCCAGGAGGTTGAGCCTACAATGAGTTATGATCATGCCACTGCACTCCAGCCTGAGTAACAAAGTGAGACCTTGTGTCTTAAAAAAACAAAAACCACTAAAATAGCAACAAGAGCAGTA

+

FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFF:FFF


"""

compress

gzip.compress(data, compresslevel=9, *, mtime=None)

压缩 data(必须是bytes对象),返回一个包含已压缩数据的 bytes 对象

a = gzip.compress(b"ATTTTCCCGGCTCGCT")
print(a)

"""
b'\x1f\x8b\x08\x00\x82\x9a!g\x02\xffs\x0c\x01\x02gggww\xe7\x10g \x06\x00\x85]\x14\xd0\x10\x00\x00\x00'
"""

decompress

gzip.decompress(data)

解压缩 data(必须是bytes对象),返回一个包含已解压数据的 bytes 对象

a = gzip.decompress(b'\x1f\x8b\x08\x00\x82\x9a!g\x02\xffs\x0c\x01\x02gggww\xe7\x10g \x06\x00\x85]\x14\xd0\x10\x00\x00\x00')
print(a)

"""
b'ATTTTCCCGGCTCGCT'
"""

Comments