当前位置: 首页 > news >正文

Python多进程写入文件

基本步骤:

1. 使用wb模式打开文件,truncate函数预分配文件大小

2. 分配写入部分至多进程任务,rb+模式打开同一个文件,写入不同的部分。

 

示例:

import multiprocessing as mpdef w(fn, range_, content):f = open(fn, 'rb+')f.seek(range_[0])length = range_[1] - range_[0]for i in range(length // len(content) - 1):f.write(content)f.write(b'\n')def main():fn = 'a.txt'p_num = 4total_length = 4 * 1024 ** 1open(fn, 'wb').truncate(total_length)pool = mp.Pool(p_num)block = total_length // p_numranges = [(block * i, block * (i + 1)) for i in range(p_num)]contents = [b'a', b'b', b'c', b'd']args = [(fn, range_, content) for range_, content in zip(ranges, contents)]print(args)pool.starmap(w, args)print('end')if __name__ == '__main__':main()

 

http://www.sczhlp.com/news/6720/

相关文章:

  • CSP 镇
  • P10831
  • SPA单页面是什么,它的优缺点分别是什么?
  • 8/6
  • CF1396C Monster Invaders
  • 从零到英雄:掌握神经网络的完整指南 - 详解
  • ARC 203 C(组合计数+容斥)
  • CF1693C Keshi in Search of AmShZ dijkstra好题
  • git分支
  • 模拟赛SXJ202507300900比赛记录题解
  • 【算法】Hungarian Algorithm 匈牙利算法
  • 03.接口vs抽象类比较
  • python中的列表
  • function calling的简单实现
  • 数论反演、变换这一块
  • 广义串并联图
  • 【渲染流水线】主线索引-从数据到图像以UnityURP为例
  • CodeChef-SAFPAR
  • 给定二叉树的根节点 root,判断它是否 轴对称(镜像对称)
  • 工具
  • C# CIP协议2
  • AI应用开发-从Python入门到GPT集成实战 - IT
  • CI2306 开发套件
  • 【UEFI】启动项
  • 记录一下新建模块时关于Spring Security的相关配置类
  • AI Compass前沿速览:Qwen3-Coder、Ollama 桌面版、Kimi K2高速版、FLUX.1 Krea [dev]文生图、小星绪漫画生成、氢离子医学AI助手
  • 使用 Apache DolphinScheduler 构建和部署大数据平台,将任务提交至 AWS 的实践经验
  • linux内核学习
  • 论C++和Python运行效率
  • 【UEFI】关于EDK2中的增量编译