包含在os.system中的命令被忽略

时间:2015-01-26 15:44:35

标签: python macos merge limits os.system

(在os x 10.10.1上)我试图在python脚本中使用配对端合并(Casper)。我使用os.system(不想使用subprocess或pexpect模块)。在我的脚本中,这是不起作用的行:

os.system("casper %s %s -o %s"%(filein[0],filein[1],fileout))
#filein[0]: input file 1
#filein[1]: input file 2
#fileout: output prefix (default==casper)

启动脚本后,只解释此命令的2个第一个字符串参数,但不解释第3个字符串参数,从而导致输出文件具有默认前缀名称。由于我的函数迭代了很多fastq文件,因此它们都被合并在一个" casper.fastq"文件。 我试图弄乱那些不起作用的命令部分(在-o之后),放置无意义的字符串并且仍然执行时没有错误和默认输出,这里是"搞砸了线":

os.system("casper %s %s -ldkfnlqdskgfno %s"%(filein[0],filein[1],fileout))

有人可以帮助理解发生了什么事吗?

1 个答案:

答案 0 :(得分:0)

  1. 在执行命令之前打印命令以检查命令是否正确包装(如文件名需要引用)
  2. 直接执行您的假定输出命令以查看它是否被误解。