神剑山庄资源网 Design By www.hcban.com
本文实例为大家分享了python实现大文本文件分割的具体代码,供大家参考,具体内容如下
开发环境
Python 2
实现效果
通过文件拖拽或文件路径输入,实现自定义大文本文件分割。
代码实现
#coding:gbk import os,sys,shutil is_file_exits=False while not is_file_exits: files_list=[] if(len(sys.argv)==1): print('请输入要切割的文件完整路径:') files_path=raw_input().strip() for str_file_path in files_path.split(' '): if(str_file_path.strip()==''): continue if(not os.path.exists(str_file_path.strip())): print(str_file_path.strip()+'文件路径不存在,请重新输入!') is_file_exits=False break else: files_list.append(str_file_path.strip()); is_file_exits=True else: for str_file_path in sys.argv[1:len(sys.argv)]: if(str_file_path.strip()==''): continue if(not os.path.exists(str_file_path.strip())): print(str_file_path.strip()+'文件路径不存在,请重新输入!') is_file_exits=False break else: files_list.append(str_file_path.strip()); is_file_exits=True print('待切割文件:'+str(files_list)) is_continue=False while not is_continue: print('请输入要切割的文件个数:') str_files_count=raw_input() if str_files_count.isdigit(): is_continue=True else: print('请输入正确的数字!') for file_path in files_list: split_file_path='' total_lines_count=0 lines_count=0 files_count=int(str_files_count) print('正在统计文本行数.....') total_lines_count = len(open(file_path,'rU').readlines()) print('文本总行数:'+str(total_lines_count)) if files_count>total_lines_count: print('文本太小,不值得分割!') sys.exit() (filepath,filename) = os.path.split(file_path); (filepathname,extension) = os.path.splitext(file_path) if os.path.exists(filepathname): shutil.rmtree(filepathname) os.mkdir(filepathname) lines_count=int(total_lines_count/files_count) mod_count=total_lines_count%files_count print('正在进行文件分割.....') line_num=0 file_num=0 temp=-1 for line in open(file_path,'rU').readlines(): if file_num<mod_count: file_num=int(line_num/(lines_count+1)) else: file_num=int((line_num-mod_count*(lines_count+1))/lines_count+mod_count) split_file_path=filepathname+'/'+str.replace(filename,extension,'_'+str(file_num)+extension) with open(split_file_path,'a+') as split_file: split_file.write(line) if temp!=file_num: print('正在生成:'+split_file_path) temp=file_num line_num+=1 print(file_path+'分割完成!') split_file.close() os.system('pause')
源码地址
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com
暂无python实现大文本文件分割的评论...
更新日志
2024年11月06日
2024年11月06日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]