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中Continue语句的用法的举例详解
May 14 Python
Python常用小技巧总结
Jun 01 Python
在Django框架中编写Context处理器的方法
Jul 20 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
Python爬虫中urllib库的进阶学习
Jan 05 Python
Python实用技巧之利用元组代替字典并为元组元素命名
Jul 11 Python
python3调用百度翻译API实现实时翻译
Aug 16 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
Jan 08 Python
python操作cfg配置文件方式
Dec 22 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
python3爬虫中异步协程的用法
Jul 10 Python
django中ImageField的使用详解
Dec 21 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实现框架(一)
2006/10/09 PHP
php htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
js将json格式内容转换成对象的方法
2013/11/01 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
2014/01/08 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
2016/03/06 Javascript
nodejs之get/post请求的几种方式小结
2017/07/26 NodeJs
使用elementUI实现将图片上传到本地的示例
2018/09/04 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
Laravel+Dingo/Api 自定义响应的实现
2019/02/17 Python
python 画3维轨迹图并进行比较的实例
2019/12/06 Python
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
W Hamond官网:始于1979年的钻石专家
2020/07/20 全球购物
管理科学大学生求职信
2013/11/13 职场文书
企事业单位求职者的自我评价
2013/12/28 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
副职竞争上岗演讲稿
2014/05/12 职场文书
空气的环保标语
2014/06/12 职场文书
民间借贷协议书范本
2014/10/01 职场文书
教师先进事迹材料
2014/12/16 职场文书
成绩单评语
2015/01/04 职场文书
预备党员个人总结
2015/02/14 职场文书
周一问候语大全
2015/11/10 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server