博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20190127-将一个文件拆分为多个新文件
阅读量:4595 次
发布时间:2019-06-09

本文共 1186 字,大约阅读时间需要 3 分钟。

1.一个文件拆分成5个文件

思路:

1. 首先拆分成多个新文件,新的文件名需要定义,使用file_name_no来定义新文件的名字

2. 新文件的内容要使用file_content来存储,当写入新文件后使用file_contect=''清空新文件内容

3. 什么时候写新文件:考虑根据原始文件的内容做拆解,如将某文件拆分为5个文件,则原文件的行数除以5达到将原原件中的内容尽量平均的写入5个新文件中基于该情况,需要一个变量来统计原文件的行数,使用file_length存储原来文件的行数。然后再重新开始一行一行的读,当读取的行数达到1/5,2/5,3/5,4/5...的时候写文件

def split_file(file_dir,file_name,num):    import os    import os.path    file_name_no=1    file_content=''    #print(type(os.path.splitext(file_name)))    with open(file_dir+file_name,'r',encoding='utf-8') as fp1:        file_length=len(fp1.readlines())        #fp1.readlines()后,游标移到文件末尾,因此使用fp1.seek(0,0)将游标移到文件开始的位置        print(file_length)        fp1.seek(0,0)        #使用fp1.seek(0,0)将游标移到文件开始的位置        file_line=0        #使用file_line记录已经读取的行数        for line in fp1:            file_content+=line            file_line+=1            if file_line==int(file_length/num)*file_name_no and file_name_no

 

 Tips:file_dir为文件的路径,file_name为文件的名称,使用os.path.splitext(file_name)[0]获取原来文件名,使用file_dir+'new'+os.path.splitext(file_name)[0]+str(file_name_no)+'.txt'拼接新文件名。当一个文件写入后,file_name_no加1,file_content清空,最后根据file_content是否为空来判断是否要将最后的内容追加写到最后一个文件中

 

 

 

转载于:https://www.cnblogs.com/hyj691001/p/10327969.html

你可能感兴趣的文章
在centos下解决 “致命错误:curses.h:没有那个文件或目录”
查看>>
程序员必学的职场人际关系22原则
查看>>
css3的transition效果和transfor效果
查看>>
[置顶] 小白学习KM算法详细总结--附上模板题hdu2255
查看>>
POJ 2400 最小权匹配
查看>>
dp 40题 转载
查看>>
组合数取模
查看>>
23种设计模式
查看>>
.Net学习笔记——细节问题
查看>>
mongodb副本集群搭建
查看>>
HDU 4505 小Q系列故事——电梯里的爱情
查看>>
synchronized同一把锁锁不同代码
查看>>
LA5135图论+ 割点性质运用
查看>>
329. Longest Increasing Path in a Matrix
查看>>
3.7 有符号二进制数
查看>>
Linux组件封装之一:MUtexLock
查看>>
android软件开发之webView.addJavascriptInterface循环渐进【一】
查看>>
第八次作业
查看>>
jQuery知识盲点
查看>>
企业web管理软件开发平台
查看>>