txt大文件拆分(批量版)

server/2024/11/14 21:02:28/

之前的python程序只能拆分单个文件,这里重新加了个文件夹拆分的功能(打包好的exe文件在文章末尾)
使用步骤:运行代码–>把文件放到input文件夹里–>命令行界面回车–>output文件夹输出文件


outputPath = "./output" #文件夹目录
def split(inputPath, file):# 读取源文件,文件名最好加上绝对路径with open(inputPath+"/"+file, 'r') as f:# 把数据写入列表wordlist = f.readlines()# 算出总行数length = len(wordlist)# 设置每个拆分文件的行数unit = 1048576# 计算新文件的个数,如果总行数整除新文件行数,就取这个商的值,如果不整除,取商加1的值file_amount = length // unit + 1 if length % unit > 0 else length // unit# 分离文件名和后缀(name, suffix) = os.path.splitext(file)# 遍历所有新文件for num in range(file_amount):# 计算新文件中第一行在源文件中对应的行号start = num * unit# 计算新文件中最后一行在源文件中对应的行号end = length if length < (num + 1) * unit else (num + 1) * unit# 写入新文件,文件名最好加上绝对路径with open(outputPath+"/"+name + str(num + 1) + '.txt', 'w+') as f:# 遍历新文件的所有行for i in range(start, end):# 把列表中的数据写入新文件f.write(wordlist[i])import os
inputPath = "./input" #文件夹目录
def main():# 创建文件夹,用于存放待分割的大文件if not os.path.exists(inputPath):os.makedirs(inputPath)print("Folder created")else:print("Folder already exists")# 创建文件夹,用于存放分割后的小文件if not os.path.exists(outputPath):os.makedirs(outputPath)print("Folder created")else:print("Folder already exists")Enter = input("请将待分割文件放于input文件夹下,再切换命令行界面,回车")#遍历文件夹内所有文件files= os.listdir(inputPath) #得到文件夹下的所有文件名称for file in files: #遍历文件夹if not os.path.isdir(file): #判断是否是文件夹,不是文件夹才打开split(inputPath, file); #分割文件if __name__ == '__main__':main()

注:可以使用python打包exe命令,得到exe程序文件(Pyinstaller -F split.py),exe文件下载地址(链接:https://pan.baidu.com/s/18nw2p87NLUSBuyBVZbmqKg 提取码:sf6v)


http://www.ppmy.cn/server/19949.html

相关文章

【Hadoop】-Hive客户端:HiveServer2 Beeline 与DataGrip DBeaver[14]

HiveServer2 & Beeline 一、HiveServer2服务 在启动Hive的时候&#xff0c;除了必备的Metastore服务外&#xff0c;我们前面提过有2种方式使用Hive&#xff1a; 方式1&#xff1a; bin/hive 即Hive的Shell客户端&#xff0c;可以直接写SQL方式2&#xff1a; bin/hive --…

一则 TCP 缓存超负荷导致的 MySQL 连接中断的案例分析

除了 MySQL 本身之外&#xff0c;如何分析定位其他因素的可能性&#xff1f; 作者&#xff1a;龚唐杰&#xff0c;爱可生 DBA 团队成员&#xff0c;主要负责 MySQL 技术支持&#xff0c;擅长 MySQL、PG、国产数据库。 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使…

centos7使用源码安装方式redis

安装编译源码的工具gcc yum install -y gcc下载源码 源码下载地址 https://download.redis.io/releases/ 注意事项 不建议安装最新版本redis&#xff0c;所以我这里选择6.2.6版本 下载 wget https://download.redis.io/releases/redis-6.2.6.tar.gz解压 tar -zxvf redis-…

spark实验求TOP值

实验1&#xff1a;求TOP值 已知存在两个文本文件&#xff0c;file1.txt和file2.txt&#xff0c;内容分别如下&#xff1a; file1.txt 1,1768,50,155 2,1218, 600,211 3,2239,788,242 4,3101,28,599 5,4899,290,129 6,3110,54,1201 7,4436,259,877 8,2369,7890,27 fil…

OpenHarmony 启动流程优化

目前rk3568的开机时间有21s&#xff0c;统计的是关机后从按下 power 按键到显示锁屏的时间&#xff0c;当对openharmony的系统进行了裁剪子系统&#xff0c;系统app&#xff0c;禁用部分服务后发现开机时间仅仅提高到了20.94s 优化微乎其微。在对init进程的log进行分析并解决其…

微信小程序的开发

1.了解项目的基本组成结构 pages 用来存放所有小程序的页面 utils 用来存放工具性质的模块(例如:格式化时间的自定义模块) app.js 小程序项目的入口文件 app.json 小程序项目的全局配置文件 app.wxss 小程序项目的全局样式文件 project.config.json 项目的配置文件 sitem…

数组和指针经典笔试题讲解

目录 创作不易&#xff0c;如对您有帮助&#xff0c;还望一键三连&#xff0c;谢谢&#xff01;&#xff01;&#xff01; 1.sizeof和strlen的对比 1.1sizeof 1.2strlen 1.3sizeof和strlen对比 2.数组笔试题讲解 数组名的理解 2.1一维数组 2.2字符数组 题目一&#x…

AUTOSAR-SD篇

1 概述 服务发现模块的主要任务是管理在车内通信中被称为服务的功能实体的可用性&#xff0c;以及控制事件消息的发送行为。只允许向需要这些事件消息的接收器发送事件消息&#xff08;发布/订阅&#xff09;。 这里描述的解决方案也被称为SOME/IP-SD&#xff08;基于IP -服务发…