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的判断语句模拟三目运算
Apr 24 Python
python实现类的静态变量用法实例
May 08 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
Jul 07 Python
Python中常见的异常总结
Feb 20 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
Apr 17 Python
一条命令解决mac版本python IDLE不能输入中文问题
May 15 Python
python中的字符串内部换行方法
Jul 19 Python
Python日志模块logging基本用法分析
Aug 23 Python
Django重置migrations文件的方法步骤
May 01 Python
Python集中化管理平台Ansible介绍与YAML简介
Jun 12 Python
python 搜索大文件的实例代码
Jul 08 Python
pytorch 中forward 的用法与解释说明
Feb 26 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三种方式实现链式操作详解
2017/01/21 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
2015/02/10 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
用Python的urllib库提交WEB表单
2009/02/24 Python
python使用socket向客户端发送数据的方法
2015/04/29 Python
Python中有趣在__call__函数
2015/06/21 Python
初步认识Python中的列表与位运算符
2015/10/12 Python
利用Python脚本生成sitemap.xml的实现方法
2017/01/31 Python
Python中类型检查的详细介绍
2017/02/13 Python
python最长回文串算法
2018/06/04 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
医学院学生求职简历的自我评价
2013/10/24 职场文书
经典大学生求职信范文
2014/01/06 职场文书
诉讼代理人授权委托书
2014/04/08 职场文书
美容院店长岗位职责
2014/04/08 职场文书
党的群众路线学习材料
2014/05/16 职场文书
今冬明春火灾防控工作方案
2014/05/29 职场文书
2015年导购员工作总结
2015/04/25 职场文书
人民调解协议书
2016/03/21 职场文书
创业计划书之服装
2019/10/07 职场文书
Python实现信息轰炸工具(再也不怕说不过别人了)
2021/06/11 Python
Go语言特点及基本数据类型使用详解
2022/03/21 Golang