Как распаковать папку, полную.gz файлов, используя python? Или другой метод, который будет работать на Windows?

У меня есть папка, полная файлов банка данных белка, которые сохранены как.gz. Например, "1AG9.pdb1.gz", и мне нужно превратить их всех в "1AG9.pdb1".

Я могу сделать это по одному, используя этот код:

import gzip
import shutil
with gzip.open('1AG9.pdb1.gz', 'rb') as f_in: 
    with open('1AG9.pdb1', 'wb') as f_out: 
        shutil.copyfileobj(f_in, f_out)

Но у меня есть папка с 2300 из этих файлов, и я предполагаю, что изменение имени файла в моем коде каждый раз не лучший способ сделать это.

Я пробовал:

import os
import gzip
import shutil

for filename in os.listdir('flavoproteinBAstest'):

    with gzip.open(filename, 'rb') as f_in: 
        with open(filename, 'wb') as f_out: 
            shutil.copyfileobj(f_in, f_out)

Но я продолжаю получать это обратно из командной строки:

Traceback (most recent call last):
  File "gzu.py", line 13, in <module>
    with gzip.open(filename, 'rb') as f_in: #make sure file name ends in .gz
  File "C:\ProgramData\Anaconda3\lib\gzip.py", line 53, in open
    binary_file = GzipFile(filename, gz_mode, compresslevel)
  File "C:\ProgramData\Anaconda3\lib\gzip.py", line 163, in __init__
    fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
FileNotFoundError: [Errno 2] No such file or directory: '1AG9.pdb1.gz'

Это для исследовательского проекта в области биохимии, я не специалист по информатике, поэтому, если есть очевидный более простой или лучший способ сделать это, я открыт для предложений. Спасибо!

0 ответов

Другие вопросы по тегам