我正在创建一个通过系统目录的程序,并更改目录中每个文件的文件扩展名。它工作得很好,但python搜索整个目录,然后它更改文件扩展名,这个方法需要很长时间,所以我尝试使用多进程库在syncro中运行这两个进程。不知道它不起作用加上它没有显示任何错误,所以我不知道做错了什么。任何人都可以帮我解决吗? 谢谢
CODE:
import os
from multiprocessing import Process
c_phpfiles=[]
def walk():
for dirpath,dirs,files in os.walk("C:\\Users\\user\\Desktop\\Newfolder"):
for filename in files:
fname = os.path.join(dirpath,filename)
c_phpfiles.append(fname)
def change(files):
for name in files:
print name
with open(name, 'wb') as fo:
fo.write('this is a test')
os.rename(name,name+'.test')
if __name__ == '__main__':
p = Process(target=walk)
p1 = Process(target=change, args=(c_phpfiles,))
p.start()
p1.start()
p.join()
p1.join()
答案 0 :(得分:0)
在目录(树)中创建文件列表。
编写一个将文件路径作为参数并重命名的函数。
创建multiprocessing.Pool
,并使用其map
方法将该函数应用于列表。