温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python如何实现大文本文件分割

发布时间:2021-04-06 13:00:20 来源:亿速云 阅读:283 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关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')

关于“python如何实现大文本文件分割”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI