2015-09-10 59 views
1

我有一个模板文件,用于根据参数列表制作大量新文件。由于我打算制作4000个文件,我尝试使用多处理模块模块。 的代码是关于这样的:使用python从多个进程读取相同的文件

from multiprocessing import Pool 

def make_file(x): 
    Read textfile 
    Use x to change it 
    Save it with a new name  

if __name__ == '__main__': 
     paramters = about 4000 parameters 
     p = Pool(5) 
     p.map(make_file,parameters) 

但是,当我试了一下,挂上约2000文件提出后。使用多个进程从同一文件读取它是否愚蠢?

+1

在尝试编辑文件之前,您应该获取文件锁定。否则会出现竞争状况,并且结果文件可能会损坏。 –

+0

停止创建文件的确切数量实际上很重要,因为您可能正在文件系统中遇到技术限制。请提供有关路径和文件的更多信息 –

回答

0

也许你可以发布与打开模板文件和创建新文件相关的代码。在文件名创建中,你可能会有类似散列冲突的事情。

相关问题