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异步回调机制实现和使用方法
Nov 26 Python
使用python解析xml成对应的html示例分享
Apr 02 Python
python正则表达式match和search用法实例
Mar 26 Python
Python的Django框架中的select_related函数对QuerySet 查询的优化
Apr 01 Python
python获取目录下所有文件的方法
Jun 01 Python
Python单元测试简单示例
Jul 03 Python
基于树莓派的语音对话机器人
Jun 17 Python
python基于paramiko将文件上传到服务器代码实现
Jul 08 Python
python实现将文件夹内的每张图片批量分割成多张
Jul 22 Python
python的命名规则知识点总结
Oct 04 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
Python实现位图分割的效果
Nov 20 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学习之数组值的操作
2011/04/17 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
twig里使用js变量的方法
2016/02/05 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
15 个 JavaScript Web UI 库
2010/05/19 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
2018/08/06 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
python入门之井字棋小游戏
2020/03/05 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
python 实现逻辑回归
2020/12/30 Python
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
门诊挂号室室长岗位职责
2013/11/27 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书
在pycharm中无法import所安装的库解决方案
2021/05/31 Python
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python
Python中22个万用公式的小结
2021/07/21 Python
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS