Cómo procesar todos los archivos en una carpeta con código Python

Cómo procesar todos los archivos en una carpeta con código Python

Tengo el siguiente código en Python:

#/usr/bin/python

from Bio import SeqIO

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

print("Converted %i records" % count)

Este código convierte el archivo genbank "genome1.gbk" en un archivo fasta "genome1.fasta". Pero ahora quiero convertir todos los archivos de la carpeta actual con este código. Todos los archivos en la carpeta actual son archivos genbank y quiero que se conviertan en archivos fasta con este código. Estaba pensando en usar comodines, pero no sé exactamente cómo cambiar este código. Cualquier ayuda es apreciada

Respuesta1

Con Pythonos.scandircaracterística:

#/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)

Respuesta2

Puedes seguir este código:

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

información relacionada