2012-07-25 71 views
0

我正在根据字符串拆分文件,并希望将输出文件名称编号。使用计数器迭代文件名

这是我到目前为止有:

outputfile = open("output.seq") 
outputfileContent = outputfile.read() 
outputfileList = outputfileContent.split(">") 
for count, line in enumerate(f): 
    for items in outputfileList: 
     seqInfoFile = open('%f.dat', 'w') 
    seqInfoFile.write(str(items)) 

我不知道在哪里定义F。

感谢您的帮助!

+0

如何'output.seq'样子?你想要完成什么? – eumiro 2012-07-25 13:56:05

+0

该代码中的“f”是什么 – Surya 2012-07-25 14:01:47

回答

0

这似乎是,如果你想每一个项目在题为作为其索引文件中的输出文件列表关联,你应该做这样的事情:

for i in range(len(outputfileList)): 
    seqInfoFile = open(str(i) + '.dat', 'w') 
    seqInfoFile.write(str(outputfileList[i])) 

这不是很优雅的一个迭代,但另一种选择是通过每次调用outputfileList.index(items)来确定数字。

1

假设我没有误解你,你有它。

outputfile = open("output.seq") 
outputfileContent = outputfile.read() 
outputfileList = outputfileContent.split(">") 

for count, content in enumerate(outputfileList, 1): 
    with open("output_%s.dat" % count, "w") as output: 
     output.write(content) 
+0

我正要发布类似的东西。简单的一个。 – Surya 2012-07-25 14:10:59

0

打开output.seq,写了第一条(在>分裂)到文件1.dat,第二个到2.dat等:

with open("output.seq") as fi: 
    for count, line in enumerate(fi, 1): 
     with open('{0}.dat'.format(count), 'w') as fo: 
      fo.writelines(line.split('>')) 
+0

他听起来像他想输出拆分文本,而不是每一行。 – Julian 2012-07-25 14:00:19

+0

@Julian - 然后我们分开它... – eumiro 2012-07-25 14:01:24