我创建了一个创建.bat文件的Python脚本。此.bat文件中的一个命令使用gawk(通过Cygwin,Windows 7安装):
| gawk "{print """exon"""$2"""\t"""$2"""\t"""$3}" >
但是,当在命令提示符(os.system)中运行此批处理文件时,命令行将解释\ t而不是gawk。在命令提示符中,命令如下所示:
| gawk "{print """exon"""$2""" """$2""" """$3}"
如果我直接在命令提示符下执行第一个命令而不通过Python执行它就可以了。那么有没有人知道在没有命令提示解释它的情况下将\ t传递给命令提示符的技巧?
强文
File = open(sample.split('data')[0]+'\\'+sample.split('.fastq\\')[1]+'.bat', 'w')
File.write('bedtools intersect'+\
' -a '+sample.split('data_')[0]+'data_'+sample.split('data_')[1].split('\\')[0]+'\\_IlluminaResults\\_circosResults\\etc\\karyotype_Exome.bed'
' -b '+sample.split('data_')[0]+'data_'+sample.split('data_')[1].split('\\')[0]+'\\_IlluminaResults\\_processingResults\\'+sample.split('.fastq\\')[1]+'\\'+sample.split('.fastq\\')[1].split('.fastq')[0]+'.processed.merge'
' | gawk "{print """exon"""$2"""\t"""$2"""\t"""$3}" > '+sample.split('data_')[0]+'data_'+sample.split('data_')[1].split('\\')[0]+'\\_IlluminaResults\\_processingResults\\'+sample.split('.fastq\\')[1]+'\\'+sample.split('.fastq\\')[1].split('.fastq')[0]+'.circos.exons'+'\n')
File.close()
os.system(sample.split('data')[0]+'\\'+sample.split('.fastq\\')[1]+'.bat')
os.remove(sample.split('data')[0]+'\\'+sample.split('.fastq\\')[1]+'.bat')