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标准库之sqlite3使用实例
Nov 25 Python
Python中使用Tkinter模块创建GUI程序实例
Jan 14 Python
Python获取邮件地址的方法
Jul 10 Python
django实现前后台交互实例
Aug 07 Python
浅析Python数据处理
May 02 Python
Python实现的读写json文件功能示例
Jun 05 Python
Python3.5迭代器与生成器用法实例分析
Apr 30 Python
Python generator生成器和yield表达式详解
Aug 08 Python
Python 使用 docopt 解析json参数文件过程讲解
Aug 13 Python
浅谈Python 递归算法指归
Aug 22 Python
基于Python脚本实现邮件报警功能
May 20 Python
python中对列表的删除和添加方法详解
Feb 24 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的一个简单加密解密代码
2014/01/14 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
2015/04/07 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
js实现精确到毫秒的倒计时效果
2016/08/05 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
Vuex的各个模块封装的实现
2020/06/05 Javascript
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
python中requests小技巧
2017/05/10 Python
Python快速排序算法实例分析
2017/11/29 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
django用户登录验证的完整示例代码
2019/07/21 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
详解Python模块化编程与装饰器
2021/01/16 Python
应届生保险求职信
2013/11/11 职场文书
电子商务个人自荐信
2013/12/12 职场文书
简历中的自我评价范文
2014/02/05 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
学习委员竞选稿
2015/11/20 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS