gzip.open 在 wt 模式下会导致无效的存档

问题描述 投票:0回答:1

我正在编写一个预测某些序列的程序。我希望它以 gzipped fasta 格式保存结果。但是,当尝试写入此类文件时,我收到无效文件(当尝试在 Windows 上打开它时,我收到压缩存档文件夹错误)。这是相关代码:

def annotate_fasta_file(model, input_path, output_path):
    """
    Annotates all sequences in a FASTA file with CpG island predictions.

    Parameters:
        model (object): A trained classifier model.
        input_path (str): Path to the input FASTA file.
        output_path (str): Path to the output FASTA file where annotations will be saved.

    Writes:
        A gzipped FASTA file containing predicted annotations for each input sequence.
    """

    sequences = parse_fasta_file(input_path)    
    with gzip.open(output_path, 'wt') as gzipped_file:
        for seq_id, sequence in sequences.items():
            annotation = annotate_sequence(model, sequence)
            gzipped_file.write(f">{seq_id}\n{annotation}\n")

这是我在尝试单击或提取输出文件时遇到的错误: 在此输入图片描述

python gzip fasta
1个回答
0
投票

不要使用

'wt'
。 就是这么简单。 gzip 压缩的文件是二进制的。 称它们为文本只不过是要求将其内容丢弃。 使用
'wb'

© www.soinside.com 2019 - 2024. All rights reserved.