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中字符串的格式化方法小结
May 03 Python
Python实现的多线程同步与互斥锁功能示例
Nov 30 Python
浅谈python数据类型及类型转换
Dec 18 Python
python微信跳一跳系列之色块轮廓定位棋盘
Feb 26 Python
python 按照固定长度分割字符串的方法小结
Apr 30 Python
Django中使用第三方登录的示例代码
Aug 20 Python
Python中flatten( )函数及函数用法详解
Nov 02 Python
在Python中输入一个以空格为间隔的数组方法
Nov 13 Python
Python常用的json标准库
Feb 19 Python
让你的Python代码实现类型提示功能
Nov 19 Python
python 通过视频url获取视频的宽高方式
Dec 10 Python
python 发送邮件的四种方法汇总
Dec 02 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
Wordpress php 分页代码
2009/10/21 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
快速使用Bootstrap搭建传送带
2016/05/06 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
js数组去重的方法总结
2019/01/18 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
Cython 三分钟入门教程
2009/09/17 Python
python自动化测试实例解析
2014/09/28 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
python list删除元素时要注意的坑点分享
2018/04/18 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
python实现各种插值法(数值分析)
2019/07/30 Python
Python字符串的修改方法实例
2019/12/19 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
《泉水》教学反思
2014/04/11 职场文书
给公司的建议书范文
2014/05/13 职场文书
法院信息化建设方案
2014/05/21 职场文书
经营目标管理责任书
2014/07/25 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
在K8s上部署Redis集群的方法步骤
2021/04/27 Redis