我正在创建一个程序,该程序通过系统目录并更改目录中每个文件的文件扩展名。它工作得很好,但是python搜索整个目录然后它更改了文件扩展名,这种方法需要很长时间,所以我尝试使用多进程库同步运行这两个进程。不知何故它不起作用,而且它没有显示任何错误,所以我不知道做错了什么。谁能帮我解决?谢谢
法典:
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()
在目录(树(中创建文件列表。
编写一个函数,该函数将文件路径作为参数并对其进行重命名。
创建一个multiprocessing.Pool
,并使用其map
方法将该函数应用于列表。