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程序与系统shell交互的方式
Apr 09 Python
python基于ID3思想的决策树
Jan 03 Python
python利用百度AI实现文字识别功能
Nov 27 Python
python3实现表白神器
Apr 09 Python
python写入数据到csv或xlsx文件的3种方法
Aug 23 Python
python创建学生成绩管理系统
Nov 22 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
Django models filter筛选条件详解
Mar 16 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
Apr 25 Python
Python 如何调试程序崩溃错误
Aug 03 Python
Python性能测试工具Locust安装及使用
Dec 01 Python
python基础学习之生成器与文件系统知识总结
May 25 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学习之PHP变量
2006/10/09 PHP
深入php函数file_get_contents超时处理的方法详解
2013/06/03 PHP
php 如何获取数组第一个值
2013/08/06 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
node.js入门教程
2014/06/01 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
JavaScript基础之this详解
2017/06/04 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
Python通过解析网页实现看报程序的方法
2014/08/04 Python
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
python2.7+selenium2实现淘宝滑块自动认证功能
2018/02/24 Python
对python中的argv和argc使用详解
2018/12/15 Python
使用pandas读取文件的实现
2019/07/31 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
电大毕业生自我鉴定
2013/11/10 职场文书
写给爸爸的道歉信
2014/01/15 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
电工工作职责范本
2014/02/22 职场文书
毕业寄语大全
2014/04/09 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android
什么是Python装饰器?如何定义和使用?
2022/04/11 Python
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android
Springboot中如何自动转JSON输出
2022/06/16 Java/Android