Process

如何使用python程式碼處理文件夾中的所有文件

  • November 29, 2019

我在python中有以下程式碼:

#/usr/bin/python

from Bio import SeqIO

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

print("Converted %i records" % count)

此程式碼將 genbank 文件“genome1.gbk”轉換為 fasta 文件“genome1.fasta”。但現在我想用這段程式碼轉換目前文件夾中的所有文件。目前文件夾中的所有文件都是 genbank 文件,我希望它們使用此程式碼變成 fasta 文件。我正在考慮使用萬用字元,但我不知道如何更改此程式碼。任何幫助表示讚賞

使用 Python 的os.scandir功能:

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

您可以按照以下程式碼:

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,

沙哈爾

引用自:https://unix.stackexchange.com/questions/554252