Python文件操作之合并文本文件内容方法介绍


本文摘自php中文网,作者巴扎黑,侵删。

众所周知Python文件处理操作方便快捷,下面这篇文章主要给大家介绍了关于Python文件操作之合并文本文件内容的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。

前言

相信大家初入某个项目,一般都要看代码。有时候,想把代码文件打印下来看,不过一般代码文件数量都在两位数或更多,逐一打开、打印,确实太耗费精力了,此外,也会出现某个代码文件打印到纸上只占了一两行的情况,很浪费纸。如果可以合并到一个文本文件里面上面这些问题就解决。

目前一个用的比较多的功能:将多个小文件的内容合并在一个统一的文件中,对原始文件重命名标记其已被处理过。
之前使用其他脚本写的,尝试用python写了一下,顺便熟悉一下python的文件处理命令。

原始文件

经过处理之后

最后还有一个蛋疼的因为缩进产生的第一个回车符

其中包含了文件的创建和移除,文件内容的读写,文件的重命名的语法命令等等

示例代码


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

# -*- 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描述符的用法介绍(附示例)

Python的注释有哪些

Python脚本生成caffe train_list.txt的方法

Python如何编出爱心

Python64位和32位区别

Python必须装虚拟机吗

Python代码的打包与发布

字符串格式化:%和.format怎么使用

Python统计单词出现次数

Python输出怎么取消空格

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...