首页 > 解决方案 > 如何修复此 python %s 占位符排列

问题描述

我需要遍历输入文件对R1R2,它们将一起处理并且每个都附加一个“.trim”文件扩展名。

我对 python 和 glob 的了解有限,它们对于使用配对输入但单个输出的类似任务效果很好。我完全不知道为什么这不起作用,尽管我确信这是一个简单的解决方法。

#!/usr/bin/python
import glob
import os
files = glob.glob("ATAC*R1*.fastq.gz")
for ifile in files:
        os.system("cutadapt -a CTGTCTCTTATACACATCT -A CTGTCTCTTATACACATCT -a AGATGTGTATAAGAGA -o %s.trim -p %s.trim %s %s" % (ifile, ifile.replace("R1","R2"), ifile, ifile.replace("R1","R2"))
Error: 
 line 7

                                                                                                                                                                                            ^
SyntaxError: invalid syntax

这应该如下工作:

ATAC2-1_R1_.fastq.gz and ATAC2-1_R1_.fastq.gz -> ATAC2-1_R1_.fastq.gz.trim and ATAC2-1_R1_.fastq.gz.trim. 

我想迭代几个 R1 和 R2 对。感谢您的帮助!

标签: pythonplaceholder

解决方案


唯一的问题是你缺少一个结束括号:

    os.system("cutadapt -a CTGTCTCTTATACACATCT -A CTGTCTCTTATACACATCT -a AGATGTGTATAAGAGA -o %s.trim -p %s.trim %s %s" % (ifile, ifile.replace("R1","R2"), ifile, ifile.replace("R1","R2")))

您只需要添加结束括号,就应该停止遇到该语法错误。


推荐阅读