本文实例为大家分享了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')
源码地址
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“python实现大文本文件分割”评论...
更新日志
2024年10月07日
2024年10月07日
- 群星《前途海量 电影原声专辑》[FLAC/分轨][227.78MB]
- 张信哲.1992-知道新曲与精丫巨石】【WAV+CUE】
- 王翠玲.1995-ANGEL【新艺宝】【WAV+CUE】
- 景冈山.1996-我的眼里只有你【大地唱片】【WAV+CUE】
- 群星《八戒 电影原声带》[320K/MP3][188.97MB]
- 群星《我的阿勒泰 影视原声带》[320K/MP3][139.47MB]
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[320K/MP3][148.91MB]
- 刘雅丽.2001-丽花皇后·EMI精选王【EMI百代】【FLAC分轨】
- 齐秦.1994-黄金十年1981-1990CHINA.TOUR.LIVE精丫上华】【WAV+CUE】
- 群星.2008-本色·百代音乐人创作专辑【EMI百代】【WAV+CUE】
- 群星.2001-同步过冬AVCD【环球】【WAV+CUE】
- 群星.2020-同步过冬2020冀待晴空【环球】【WAV+CUE】
- 沈雁.1986-四季(2012梦田复刻版)【白云唱片】【WAV+CUE】
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[FLAC/分轨][257.88MB]
- 《国语老歌 怀旧篇 3CD》[WAV/分轨][1.6GB]