So verarbeiten Sie alle Dateien in einem Ordner mit Python-Code

So verarbeiten Sie alle Dateien in einem Ordner mit Python-Code

Ich habe den folgenden Code in Python:

#/usr/bin/python

from Bio import SeqIO

count = SeqIO.convert(“genome1.gbk”, “genbank”, “genome1.fasta”, “fasta”)

print("Converted %i records" % count)

Dieser Code konvertiert die Genbank-Datei „genome1.gbk“ in eine Fasta-Datei „genome1.fasta“. Aber jetzt möchte ich alle Dateien im aktuellen Ordner mit diesem Code konvertieren. Alle Dateien im aktuellen Ordner sind Genbank-Dateien und ich möchte, dass sie mit diesem Code in Fasta-Dateien umgewandelt werden. Ich dachte daran, Platzhalter zu verwenden, weiß aber nicht genau, wie ich diesen Code ändern soll. Jede Hilfe ist willkommen.

Antwort1

Mit Pythonsos.scandirBesonderheit:

#/usr/bin/python

from Bio import SeqIO
from os import scandir

with scandir() as it:
    for entry in it:
        if entry.name.endswith('.gbk') and entry.is_file():
            count = SeqIO.convert(entry.name, 'genbank', '{}.fasta'.format(entry.name[:-4]), 'fasta')
            print("Converted %i records" % count)

Antwort2

Sie können diesem Code folgen:

import os 
from Bio import SeqIO

for filename in os.listdir('.'):
  if filename.endswith(".gbk"):
    count = SeqIO.convert(filename, “genbank”, "{}.fasta".format(entry.name[:-4]), “fasta”)
    print("Converted %i records" % count)

BR,
Shahar

verwandte Informationen