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使用循环实现批量创建文件夹示例
Mar 25 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 Python
python中的格式化输出用法总结
Jul 28 Python
Python3中类、模块、错误与异常、文件的简易教程
Nov 20 Python
用python实现对比两张图片的不同
Feb 05 Python
Python常用的json标准库
Feb 19 Python
python卸载后再次安装遇到的问题解决
Jul 10 Python
python使用多线程编写tcp客户端程序
Sep 02 Python
Python制作词云图代码实例
Sep 09 Python
python将四元数变换为旋转矩阵的实例
Dec 04 Python
python实现发送带附件的邮件代码分享
Sep 22 Python
Python reversed反转序列并生成可迭代对象
Oct 22 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
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
2015/09/05 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
JS中的多态实例详解
2017/10/15 Javascript
three.js中文文档学习之通过模块导入
2017/11/20 Javascript
解决在vue项目中webpack打包后字体不生效的问题
2018/09/01 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
Python采用raw_input读取输入值的方法
2014/08/18 Python
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
详解Python中的元组与逻辑运算符
2015/10/13 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
乌克兰第一的珠宝网上商店:Gold.ua
2019/11/29 全球购物
Weblogic的布署方式
2013/08/23 面试题
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
少年闰土教学反思
2014/02/22 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
具结保证书范本
2015/05/11 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
分析设计模式之模板方法Java实现
2021/06/23 Java/Android
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android
微信小程序调用python模型
2022/04/21 Python