使用循环在python脚本中运行子进程以迭代目录中的文件

时间:2017-06-05 21:02:53

标签: python loops unix subprocess

我正在尝试在python脚本中运行bash子进程。但是,我似乎得到了错误:

“请提供一个或多个FastQ文件的文件名以启动Trim Galore!

USAGE:'trim_galore [options]'或'trim_galore --help'获取更多选项“

我希望迭代一个目录并将我需要的两个文件作为一对插入到read1和read2变量中(因此使用索引) 我不明白为什么我收到上述错误!不知道为什么它认为我没有提供文件名。

任何想法都会受到赞赏,谢谢。

import os
import subprocess

indir = "/Users/ainefairbrother/Documents/MSc_Project/TORC_data/unzipped_pretrim"

f = 12
num_of_files = 12
while num_of_files <= f:
    pair_count = 1
    for root, dirs, all_files in os.walk(indir):
        read1 = all_files[pair_count]
        pair_count += 1
        read2 = all_files[pair_count]
        print(read1, read2)
        pair_count += 1
        process = subprocess.run(['trim_galore', '--paired', '--nextera', read1, read2], stdout=subprocess.PIPE, shell=True) #stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)   #shell=True) #stdout=PIPE, stderr=STDOUT,
        print(process)
    if pair_count > num_of_files:
        break

0 个答案:

没有答案