【问题标题】:Reading same file from multiple processes using python使用python从多个进程中读取相同的文件
【发布时间】:2015-09-10 17:33:41
【问题描述】:

我有一个模板文件,用于根据参数列表制作很多新文件。因为我要制作 4000 个文件,所以我尝试了多处理模块模块。 代码大概是这样的:

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 个文件后挂起。使用多个进程从同一个文件中读取是愚蠢的吗?

【问题讨论】:

  • 您应该在尝试编辑文件之前获取文件的锁定。否则会出现竞争条件,结果文件可能会损坏。
  • 停止创建文件的确切数量实际上很重要,因为您可能会遇到文件系统的技术限制。请提供有关路径和文件的更多信息

标签: python multiprocessing pool


【解决方案1】:

也许您可以发布与打开模板文件和创建新文件相关的代码。在文件名创建中可能会出现哈希冲突。

【讨论】:

    猜你喜欢
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多