Python - 读取单个文件,从中提取数据,然后将其写入许多文件

时间:2015-12-07 15:05:26

标签: python loops parsing file-writing

我正在尝试读取1个文件,从中解析数据,然后将每个已解析的列写入另一个目录中的另一个文件。这是我的代码:

os.makedirs("new_directory")
my_file = open("original_file.txt", "r+")
output = "new_file.txt"
outputfile = open("new_directory/"+output, "w")
num = 3

for line in my_file:
    line = line.split("\t")
    sample = line[num]
    lst = line[1] + "\t" + line[2] + "\t" + sample + "\n"
    outputfile.write(lst)

这是我所拥有的。我想用原始文件中的不同信息编写多页输出文件,并将它们全部保存在新目录中。我怎么能写一个循环来每次更改输出文件名 - 我试图增加'num'然后可能将它添加到输出变量:

output = "new_file" + num + ".txt"
outputfile = open("new_directory/"+output, "w")

或类似的东西。有没有更好的办法?

1 个答案:

答案 0 :(得分:1)

您可以创建文件列表

outputfiles = []    
for num in range(number_of_output_files):     
    output = "new_file" + str(num) + ".txt" # or "new_file%d.txt"%(num)
    outputfiles.append( open("new_directory/"+output, "w") )

for num in range(number_of_output_files):     
    outputfiles[num].write( 'something\n' )

for num in range(number_of_output_files):     
    outputfiles[num].close()