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通过递归遍历出集合中所有元素的方法
Feb 25 Python
python 匹配url中是否存在IP地址的方法
Jun 04 Python
python3.7.0的安装步骤
Aug 27 Python
浅谈python中真正关闭socket的方法
Dec 18 Python
django主动抛出403异常的方法详解
Jan 04 Python
Python实现E-Mail收集插件实例教程
Feb 06 Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 Python
python爬虫 urllib模块url编码处理详解
Aug 20 Python
django创建简单的页面响应实例教程
Sep 06 Python
Windows10下 python3.7 安装 facenet的教程
Sep 10 Python
Python @property装饰器原理解析
Jan 22 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
Mar 03 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.NET的入门教程
2006/10/09 PHP
php通用防注入程序 推荐
2011/02/26 PHP
PHP扩展开发入门教程
2015/02/26 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
禁止你的左键复制实用技巧
2013/01/04 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
JS中的JSON对象的定义和取值实现代码
2018/05/09 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
深入了解JavaScript代码覆盖
2019/06/13 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
2020/07/31 Javascript
python3.0 字典key排序
2008/12/24 Python
Python字符串处理之count()方法的使用
2015/05/18 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
Python运算符+与+=的方法实例
2021/02/18 Python
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
经贸日语专业个人求职信
2013/12/13 职场文书
个人求职简历中英文自我评价
2013/12/16 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
娱乐节目策划方案
2014/06/10 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
2015年护士节慰问信
2015/03/23 职场文书
mysql部分操作
2021/04/05 MySQL
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS