1

私はPythonが初めてで、ソートされていない大きなテキストファイルからデータを抽出しようとしています。テキスト文書で「stop_codon」という単語が 1 つ出現する行のすべてのデータを抽出できるかどうかを知りたいです。これは私がこれまでに持っているものです...

import re
regex = re.compile("stop_codon([^U]+)")

contigdata = open("contigs.txt").read()

for match in regex.finditer(contigdata):
    rules = match.group(0).splitlines()
    for rule in rules:
        if rule and not rule.startswith("#"):
            print rule

これはスクリプトが生成している出力であり、すべてが 1 行に収まっていればよかったと思います。

contig00002 A
stop_codon  2076    2078    .   +   0   transcript_id "g2.t1"; gene_id "g2";

どんな助けでも感謝します!

4

1 に答える 1

1

すべての出力を 1 行で印刷したいだけの場合

変化する

print rule

print rule,

これには正規表現は本当に必要ありません

with open("contigs.txt") as f:
    for line in f:
        if "stop_codon" in line and line[0] != "#":
            print line,
于 2013-09-02T11:03:27.370 に答える