猿问

请问关于apply_async对文件操作的问题

你好,我想使用multiprocessing对一个文件进行操作,但是没有达到预期效果..代码如下,传入文件流后,子进程并没有运行,连打印输出都没有,请问如何解决?


from multiprocessing.pool import Pooldef filetest(ff):
    print("f!")
    print(ff.name)
    print(ff.read(20))
    print("ff!")if __name__ == '__main__':
    p = Pool(2)
    f = r'C:\Users\77395\Downloads\1.ts'
    ff = open(f, 'rb')    for i in range(0,5):
        p.apply_async(filetest, args=(ff,))
    p.close()
    p.join()


倚天杖
浏览 684回答 1
1回答

一只名叫tom的猫

file object 不能被picklefrom multiprocessing.pool import Pooldef filetest(content):     print contentif __name__ == '__main__':     p = Pool(2)     f = r'./1.txt'     ff = open(f, 'rb')     p.map_async(filetest, ff)     p.close()     p.join()
随时随地看视频慕课网APP

相关分类

Python
我要回答