【发布时间】:2017-03-28 08:36:59
【问题描述】:
我已经在这个网站上寻找答案,但没有找到。我的问题是我想在 python 中将几个文件从一种格式转换为另一种格式。我想同时转换 4 个文件。我已经用多处理库中的 process 关键字制作了一个代码,它可以工作,但是它使用多个进程来逐个转换文件,这不是我想要的。我试图用这段代码同时转换它们:
def convert_all_files (directoryName):
directoryName = r'Here I set my directory name C:\...'
files2=[]
pool=mp.Pool(4)
for path, dirs, files in os.walk(directoryName):
for f in files:
f1=f
path1=path
files2.append((path1,f1))
for j in range(0, len(files2)):
pool.apply_async(convert, (files2[j][0],files2[j][1]))
pool.close()
pool.join()
我的问题是代码运行了,但是函数convert没有执行,代码冻结在pool.join()这一行(我用这个技术获得了很多时间,因为转换很长,当我运行这段代码,转换是瞬时的并且不起作用。)
我在另一个文件中使用了上面定义的函数。我导入我的模块并调用函数。
有人有想法吗? 谢谢
【问题讨论】:
-
您的代码缩进好像有问题,请检查一下好吗?
-
您好!感谢您的回复。是的,当我在这个论坛上粘贴代码时,代码识别变坏了。我现在又设置了一个。