python打开c盘中文件_在Python中并行读取磁盘中的文件

我正在从MATLAB迁移到Python,主要是因为Python中提供了大量有趣的机器学习包.但是,对我来说混淆的一个问题是并行处理.特别是,我想在for循环中从磁盘读取数千个文本文件,我想并行执行.在MATLAB中,使用parfor代替for将会有所作为,但到目前为止我还没有弄清楚如何在python中做到这一点.

这是我想要做的一个例子.我想读取N个文本文件,将它们整形为N1xN2数组,并将每个文件保存为NxN1xN2 numpy数组.这个数组将是我从函数返回的数组.假设文件名是file0001.dat,file0002.dat等,我想并行化的代码如下:

import numpy as np

N=10000

N1=200

N2=100

result = np.empty([N, N1, N2])

for counter in range(N):

t_str="%.4d" % counter

filename = 'file_'+t_str+'.dat'

temp_array = np.loadtxt(filename)

temp_array.shape=[N1,N2]

result[counter,:,:]=temp_array

我在群集上运行代码,因此我可以使用许多处理器来完成工作.因此,任何关于哪种并行化方法更适合我的任务(如果有多个)的评论都是最受欢迎的.

注意:我知道这个post,但在那篇文章中,只有out1,out2,out3变量需要担心,并且它们已经被明确地用作要并行化的函数的参数.但是在这里,我有许多2D数组应该从文件中读取并保存到3D数组中.所以,这个问题的答案对我的情况来说不够普遍(或者我理解它的方式).

解决方法:

您仍然可能希望使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值