将数据写入文件的最佳方法是哪种?

时间:2017-10-26 18:06:36

标签: python multithreading concurrency io multiprocessing

我从表中提取数据并写入文件。在这里,我必须从11个表中提取数据,然后写入文件。

目前正在做的事情,

def get_data_from_table_to_txt(con, sql, filename):
    cur = con.cursor()
    cur.execute(sql)
    with open(filename, 'w') as fp:
        for row in cur.fetchall():
            fp.write(row)


get_data_from_table_to_txt(con, sql1, filename1)
get_data_from_table_to_txt(con, sql2, filename2)
get_data_from_table_to_txt(con, sql3, filename3)
get_data_from_table_to_txt(con, sql4, filename4)
get_data_from_table_to_txt(con, sql5, filename5)
.
.
.

如果你看到上面的代码,那就是获取表然后写入文件。这个过程是顺序卸载数据。这个过程非常缓慢。所以我想实现多线程。 是这个过程的多线程好处吗?

1 个答案:

答案 0 :(得分:0)

数据有多大?你可以保持文件打开,只保存在最后或将dbdata放入变量并将其全部保存在最后,这样你就可以一直停止写。如果多线程如果重要,请注意订单。您可以使用列表并将每个sql放入其元素中并在最后进行组合。