Python文件操作之合并文本文件内容示例代码

 更新时间:2017年09月19日 09:36:01   作者:MSSQL123  
众所周知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 flask基于cookie和session来实现会话控制的实战代码

    python flask基于cookie和session来实现会话控制的实战代码

    所谓的会话(session),就是客户端浏览器和服务端网站之间一次完整的交互过程,本文介绍falsk通过cookie和session来控制http会话的全部解析,通常我们可以用cookie和session来保持用户登录等,感兴趣的朋友一起看看吧
    2024-03-03
  • 编写同时兼容Python2.x与Python3.x版本的代码的几个示例

    编写同时兼容Python2.x与Python3.x版本的代码的几个示例

    这篇文章主要介绍了编写同时兼容Python2.x与Python3.x版本的代码的几个示例,在Python2.7.x的更新中由于采用了某些Python3中的代码编写特性、使得在有些原本不同之处编写兼容性代码成为可能,需要的朋友可以参考下
    2015-03-03
  • Python 如何引入同级包和模块

    Python 如何引入同级包和模块

    这篇文章主要介绍了Python 如何引入同级包和模块,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • python读取当前目录下的CSV文件数据

    python读取当前目录下的CSV文件数据

    这篇文章主要为大家详细介绍了python读取当前目录下的CSV文件数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Python 中的反转字符串reversed(),切片

    Python 中的反转字符串reversed(),切片

    这篇文章主要介绍了Python 中的反转字符串reversed(),切片 ,以相反的顺序反转和处理字符串可能是编程中的一项常见任务。Python 提供了一组工具和技术,可以帮助我们快速有效地执行字符串反转,下面来看看具体内容吧
    2021-12-12
  • python项目打包成exe和安装包的方法步骤

    python项目打包成exe和安装包的方法步骤

    本文主要介绍了python项目打包成exe和安装包的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 浅谈PyTorch的可重复性问题(如何使实验结果可复现)

    浅谈PyTorch的可重复性问题(如何使实验结果可复现)

    今天小编就为大家分享一篇浅谈PyTorch的可重复性问题(如何使实验结果可复现),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • pandas实现按行选择的示例代码

    pandas实现按行选择的示例代码

    这篇文章主要介绍了pandas实现按行选择的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • Python爬虫爬取ts碎片视频+验证码登录功能

    Python爬虫爬取ts碎片视频+验证码登录功能

    这篇文章主要介绍了Python爬虫爬取ts碎片视频+验证码登录功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Python实现普通图片转ico图标的方法详解

    Python实现普通图片转ico图标的方法详解

    ICO是一种图标文件格式,图标文件可以存储单个图案、多尺寸、多色板的图标文件。本文将利用Python实现普通图片转ico图标,感兴趣的小伙伴可以了解一下
    2022-11-11

最新评论