我正在写一个Python脚本,我有一个变量声明的问题,下面是我脚本的一部分:if chromosome :
if chromosome.group(1) != '1' :
output.close()
print str(base)+" bases found in chromosome "+chr_name
chr_name = chromosome.group(1)
output = open(current_dir+"/"+name+"3/"+name+".chr"+chromosome.group(1)+".wig", "w")
output.write("fixedStep chrom=chr"+chromosome.group(1)+" start=1 step=1\n")
如您所见,我在代码中创建输出之前关闭了输出,但事实上,这种情况永远不会发生,因为您无法在创建文件之前输入条件。在
我可以做一些肮脏的事情,在我的情况下打开一个tmp文件,但这不是很优雅。所以我想知道有没有其他的解决方案可以让Python开心?在
编辑:
^{pr2}$
编辑2:
下面是算法的一个想法,也许它可以帮助更好地理解问题:for line in input do :
chromosome = re.search(something)
if chromosome :
if chromosome != '1' :
ouput.close()
output = open(file+chromosome)
output.write(title)
elif somethingElse :
output.write(somethingElse)
endif
endfor
我想创建不同的文件(file1,file2,file3…)。在创建文件2之前,我必须关闭文件1;在创建文件3之前,我必须关闭文件2;等等。。。但是对于第一个(file1),我不需要关闭任何东西!在