Python文件操作之合并文本文件内容示例代码


Posted in Python onSeptember 19, 2017

前言

相信大家初入某个项目,一般都要看代码。有时候,想把代码文件打印下来看,不过一般代码文件数量都在两位数或更多,逐一打开、打印,确实太耗费精力了,此外,也会出现某个代码文件打印到纸上只占了一两行的情况,很浪费纸。如果可以合并到一个文本文件里面上面这些问题就解决。

目前一个用的比较多的功能:将多个小文件的内容合并在一个统一的文件中,对原始文件重命名标记其已被处理过。
之前使用其他脚本写的,尝试用python写了一下,顺便熟悉一下python的文件处理命令。

原始文件

Python文件操作之合并文本文件内容示例代码

经过处理之后

Python文件操作之合并文本文件内容示例代码

最后还有一个蛋疼的因为缩进产生的第一个回车符

其中包含了文件的创建和移除,文件内容的读写,文件的重命名的语法命令等等

示例代码

# -*- coding: utf-8 -*-
import os
import time
import datetime

def merge_file(file_path,file_name):
 #file_path must exits
 if(os.path.exists(file_path) is False):
  print('file_path is not exists')
  return

 if(os.path.exists(os.path.join(file_path, file_name))):
  os.remove(os.path.join(file_path, file_name))

 #'%Y_%m_%d%H%M%S',创建一个以日期命名的文本文件
 targetfilename = str(time.strftime('%Y%m%d%H%M%S'))+'.txt'
 fobj = open(os.path.join(file_path, targetfilename), 'w')
 fobj.close()

 # a 是以追加的方式打开文件写入
 with open(os.path.join(file_path, targetfilename), 'a', encoding='GBK') as f_wirte:
  files = os.listdir(file_path)
  for file in files:
   print(os.path.join(file_path, file))
   with open(file_path+'\\'+file, 'r', encoding='GBK') as f:
    for line in f.readlines():
     if(line.strip().__len__()) > 0:# 排除空行
      f_wirte.write(line)
    f_wirte.write('\n')# 每读完一个文件之后,加一个回车,否则第一个文件的最后一行跟第二个文件的第一行没有回车

   # 文件合并之后,重命名原始的文件,
   # os.path.splitext(file)[0] 提取文件名,不包括后缀名
   # os.path.splitext(file)[1] 提取文件后缀名
   if (file != targetfilename):
    os.rename(os.path.join(file_path, file),os.path.join(file_path, os.path.splitext(file)[0] + '在_' +str(time.strftime('%Y%m%d%H%M%S')) +'_已处理' + '.txt'))


merge_file('D:\TestPythonMergeFile','auoto_create_a_category_file')

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python下Fabric的简单部署方法
Jul 14 Python
Python实现类似jQuery使用中的链式调用的示例
Jun 16 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
Java及python正则表达式详解
Dec 27 Python
python pandas 对series和dataframe的重置索引reindex方法
Jun 07 Python
python实现两个dict合并与计算操作示例
Jul 01 Python
Django forms表单 select下拉框的传值实例
Jul 19 Python
Python性能分析工具Profile使用实例
Nov 19 Python
Python Pandas 对列/行进行选择,增加,删除操作
May 17 Python
Python中rapidjson参数校验实现
Jul 25 Python
浅析python中特殊文件和特殊函数
Feb 24 Python
Python利用zhdate模块实现农历日期处理
Mar 31 Python
使用Python & Flask 实现RESTful Web API的实例
Sep 19 #Python
python基本语法练习实例
Sep 19 #Python
基于python3 类的属性、方法、封装、继承实例讲解
Sep 19 #Python
浅谈python中列表、字符串、字典的常用操作
Sep 19 #Python
Python 文件操作的详解及实例
Sep 18 #Python
python Socket之客户端和服务端握手详解
Sep 18 #Python
Python基于time模块求程序运行时间的方法
Sep 18 #Python
You might like
php feof用来识别文件末尾字符的方法
2010/08/01 PHP
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
php版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
使用jquery+CSS实现控制打印样式
2014/12/31 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
详解Angular4 路由设置相关
2017/08/26 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
Electron中实现大文件上传和断点续传功能
2018/10/28 Javascript
小程序实现抽奖动画
2020/04/16 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
Vue2.0 $set()的正确使用详解
2020/07/28 Javascript
整理Python最基本的操作字典的方法
2015/04/24 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
使用pandas读取文件的实现
2019/07/31 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
2021/01/08 Python
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
开办化妆品公司创业计划书
2013/12/26 职场文书
女方回门宴答谢词
2014/01/14 职场文书
给儿子的表扬信
2014/01/15 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
依法行政工作汇报
2014/10/28 职场文书
2014年评职称工作总结
2014/11/20 职场文书
营运督导岗位职责
2015/04/10 职场文书
新学期开学寄语2016
2015/12/04 职场文书