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命令行参数解析模块optparse使用实例
Apr 13 Python
浅析Python中的for 循环
Jun 09 Python
python实现在IDLE中输入多行的方法
Apr 19 Python
pygame游戏之旅 调用按钮实现游戏开始功能
Nov 21 Python
python 实现selenium断言和验证的方法
Feb 13 Python
Python opencv实现人眼/人脸识别以及实时打码处理
Apr 29 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
Jul 23 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
Feb 25 Python
Python sorted排序方法如何实现
Mar 31 Python
Python中有几个关键字
Jun 04 Python
使用Keras建立模型并训练等一系列操作方式
Jul 02 Python
Python字典的基础操作
Nov 01 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运行速度的一些小技巧分享
2012/07/03 PHP
Smarty模板简单配置与使用方法示例
2016/05/23 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
javascript 命名规则 变量命名规则
2010/02/25 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
web.py中调用文件夹内模板的方法
2014/08/26 Python
Python中的rfind()方法使用详解
2015/05/19 Python
Python 字符串换行的多种方式
2018/09/06 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
python实现AES加密解密
2019/03/28 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
HTML5手机端弹出遮罩菜单特效代码
2016/01/27 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
中国高端家电购物商城:顺电
2018/03/04 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
新电JAVA笔试题目
2014/08/31 面试题
《藤野先生》教学反思
2014/02/19 职场文书
文明村创建实施方案
2014/03/27 职场文书
给校长的建议书300字
2014/05/16 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
人事专员岗位说明书
2014/07/29 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技