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 15 Python
python递归删除指定目录及其所有内容的方法
Jan 13 Python
Python信息抽取之乱码解决办法
Jun 29 Python
python导出chrome书签到markdown文件的实例代码
Dec 27 Python
python3+PyQt5泛型委托详解
Apr 24 Python
python SQLAlchemy的Mapping与Declarative详解
Jul 04 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
浅谈ROC曲线的最佳阈值如何选取
Feb 28 Python
Selenium 滚动页面至元素可见的方法
Mar 18 Python
完美解决ARIMA模型中plot_acf画不出图的问题
Jun 04 Python
python中setuptools的作用是什么
Jun 19 Python
python 管理系统实现mysql交互的示例代码
Dec 06 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 empty,isset,is_null判断比较(差异与异同)
2010/10/19 PHP
php生成随机密码自定义函数代码(简单快速)
2014/05/10 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
php中try catch捕获异常实例详解
2014/11/21 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
jQuery toggle()设置CSS样式
2009/11/05 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
超精准的javascript验证身份证号的具体实现方法
2015/11/18 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
[51:06]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第二场 1月26日
2021/03/11 DOTA
Python中atexit模块的基本使用示例
2015/07/08 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
phpquery中文手册
2021/03/18 PHP
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
学习交流会主持词
2014/04/01 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
五好家庭申报材料
2014/12/20 职场文书
创先争优个人总结
2015/03/04 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle