同时写入多个文件

时间:2019-07-02 13:44:30

标签: python python-3.x multithreading concurrent.futures

我正在尝试以并行方式写入100个文件。

有一个列表 $pdo = $this->getEntityManager()->getConnection()->getWrappedConnection(); $pdo->setAttribute(\PDO::ATTR_EMULATE_PREPARES,false); ,其中的项目应写入单独的文件中。我已经尝试过data,但是没有用(文件中没有内容)。

concurrent.futures

预期结果:

data = ['a','b','c']

def write2file(i):
    outhandles[i].write(data[i])

with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
    executor.map(write2file,range(s,e))

1 个答案:

答案 0 :(得分:0)

将数据放入Queue对象,然后使用线程将项目并行弹出队列。根据您的逻辑以及如何组合文件,这应该会有所帮助并且是线程安全的。