我试图从2个文件多核读取数据,但执行此代码后list1
和list2
是空的。多进程从文件读取
from multiprocessing import Process
def getfile(fn, out):
print("start reading file {}".format(fn))
with open(fn) as file:
for line in file:
out.append(line)
if __name__ == '__main__':
file1 = []
file2 = []
p1 = Process(target=getfile, args=("100.txt", file1))
p2 = Process(target=getfile, args=("98.txt", file2))
p1.start()
p2.start()
p1.join()
p2.join()
print(file1)
print(file2)
如何从文件获取写入数据列表或使用多处理可迭代的东西?
看看[这个](https://stackoverflow.com/a/29050564/6111440) –
如果你为了性能的目的而试图做到这一点,你需要知道如果两个文件都驻留在同一物理旋转磁盘同时读取它们都不能使整体读取时间更快,事实上可能会使磁盘读取速度变慢,因为磁盘磁头可能会做额外的搜索。 –