У меня постоянно возникает ошибка при запуске скрипта. Он продолжает посылать "имя файла ввода не определено" - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь создать python def, чтобы разархивировать несколько файлов .gz в папке. Я знаю, что основной скрипт работает, если его нет в def. Сценарий, который я создал, похож на другие, которые я сделал, но этот дает мне ошибку

Файл "unzip.py", строка 24, в decompressed_files (input_folder) NameError: name 'input_folder' is не определено

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

import glob
import sys
import os
import argparse
import subprocess
import gzip

def decompressed_files(input_folder):
    print ('starting decompressed_files')

    output_folder=input_folder + '/fasta_files'
    if os.path.exists(output_folder):
        print ('folder already exists')
    else:
        os.makedirs(output_folder)

    for f in input_folder:
        fastqs=glob.glob(input_folder + '/*.fastq.gz')
        cmd =[gunzip, -k, fastqs, output_folder]
        my_file=subprocess.Popen(cmd)
        my_file.wait

print ('The programme has finished doing its job')
decompressed_files(input_folder)

Это сделано для python 2.7, я знаю, что оно старое, но оно то, что оно установлен на моем рабочем сервере.

1 Ответ

1 голос
/ 27 января 2020

Вот почему, когда вы вызываете decompressed_files(input_folder) в последней строке, вы не определили input_folder раньше. вы должны сделать это так:

input_folder = 'C:/Some Address/'
decompressed_files(input_folder)
...