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 相关文章推荐
python3.4用函数操作mysql5.7数据库
Jun 23 Python
python+selenium+autoit实现文件上传功能
Aug 23 Python
《与孩子一起学编程》python自测题
May 27 Python
python2和python3的输入和输出区别介绍
Nov 20 Python
Python socket模块实现的udp通信功能示例
Apr 10 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
Jun 21 Python
HTML的form表单和django的form表单
Jul 25 Python
Flask框架路由和视图用法实例分析
Nov 07 Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
python绘制汉诺塔
Mar 01 Python
python语言中pandas字符串分割str.split()函数
Aug 05 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数据采集的详解
2013/06/02 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
2014/10/14 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
jQuery Clone Bug解决代码
2010/12/22 Javascript
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
Angular将填入表单的数据渲染到表格的方法
2017/09/22 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
Webpack的dll功能使用
2018/06/28 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
python global关键字的用法详解
2019/09/05 Python
python实现画循环圆
2019/11/23 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
浅谈Html5移动端ios/Android兼容性总结
2018/06/01 HTML / CSS
MADE法国:提供原创设计师家具
2018/09/18 全球购物
介绍一下gcc特性
2012/01/20 面试题
2014庆六一活动方案
2014/03/02 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
大学生工作求职信
2014/06/23 职场文书
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang