2016-02-26 68 views
-3

我想写一个python脚本,可以用来重新格式化一个FASTA文件成两列,表格分隔的表格,如上图所示。该脚本应该从命令行取得输入文件的名称,并且结果应该转到STDOUT。需要帮助,使我的Python脚本工作

任何帮助将不胜感激!所以这是我到目前为止:

#/user/bin/env python 
import sys 
import re 
file_object = open(sys.argv[1]) 
for some_line in file_object: 
     if re.search('>', some_line): 
       sys.stdout.write(some_line.strip('\n')+ '\t') 
     else: 
      if re.search('^\w+', some_line): 
          sys.stdout.write(some_line.strip('w') 

预期输出: Expected output

+0

你有这个代码(除了语法错误)有什么问题? –

+0

我得到这IndentationError说,unindent不匹配任何外部缩进级别 – etet112

+0

然后开始修复。 –

回答

0

你其他没有与if语句对应的对齐。无论如何,我建议你如果可以的话可以摆脱重新包装。这个例子,会更快:

#/user/bin/env python 
import sys 
file_object = open(sys.argv[1]) 
for some_line in file_object: 
    if some_line.startswith('>'): 
      sys.stdout.write(some_line.strip('\n') + '\t') 
    else: 
      sys.stdout.write(some_line)