未加星标

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

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二05 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

前言

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

目前一个用的比较多的功能:将多个小文件的内容合并在一个统一的文件中,对原始文件重命名标记其已被处理过。
之前使用其他脚本写的,尝试用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基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

主题: Python谢大
分页:12
转载请注明
本文标题:Python文件操作之合并文本文件内容示例代码
本站链接:http://www.codesec.net/view/565039.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(15)