当我使用subprocess.Popen
调用程序时,如下所示:
input_file_new = subprocess.Popen('''grep -v '#' {} | cut -f 1,2,3,4,5,6,7,8 | \
intersectBed -a stdin -b {} -wo | sort -k 1,1 -k 2,2n |uniq'''.format(infile,\
bound_motif),shell=True,stdout=subprocess.PIPE).communicate()[0].split('\n')
我从生成的输出中获取所有行的列表,其中一个额外的空字符串成员作为最后一个列表项。我可以使用del
将其删除,但这看起来很笨拙。我怎样才能避免额外的空字符串?
答案 0 :(得分:2)
将.split('\n')
更改为
rstrip('\n').split()
最后一个空字符串可能只是一个尾随换行符!