Python文件操作之合并文本文件內(nèi)容示例代碼
前言
相信大家初入某個(gè)項(xiàng)目,一般都要看代碼。有時(shí)候,想把代碼文件打印下來看,不過一般代碼文件數(shù)量都在兩位數(shù)或更多,逐一打開、打印,確實(shí)太耗費(fèi)精力了,此外,也會(huì)出現(xiàn)某個(gè)代碼文件打印到紙上只占了一兩行的情況,很浪費(fèi)紙。如果可以合并到一個(gè)文本文件里面上面這些問題就解決。
目前一個(gè)用的比較多的功能:將多個(gè)小文件的內(nèi)容合并在一個(gè)統(tǒng)一的文件中,對(duì)原始文件重命名標(biāo)記其已被處理過。
之前使用其他腳本寫的,嘗試用python寫了一下,順便熟悉一下python的文件處理命令。
原始文件
經(jīng)過處理之后
最后還有一個(gè)蛋疼的因?yàn)榭s進(jìn)產(chǎn)生的第一個(gè)回車符
其中包含了文件的創(chuàng)建和移除,文件內(nèi)容的讀寫,文件的重命名的語(yǔ)法命令等等
示例代碼
# -*- 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',創(chuàng)建一個(gè)以日期命名的文本文件 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')# 每讀完一個(gè)文件之后,加一個(gè)回車,否則第一個(gè)文件的最后一行跟第二個(gè)文件的第一行沒有回車 # 文件合并之后,重命名原始的文件, # 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')
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
python flask基于cookie和session來實(shí)現(xiàn)會(huì)話控制的實(shí)戰(zhàn)代碼
所謂的會(huì)話(session),就是客戶端瀏覽器和服務(wù)端網(wǎng)站之間一次完整的交互過程,本文介紹falsk通過cookie和session來控制http會(huì)話的全部解析,通常我們可以用cookie和session來保持用戶登錄等,感興趣的朋友一起看看吧2024-03-03編寫同時(shí)兼容Python2.x與Python3.x版本的代碼的幾個(gè)示例
這篇文章主要介紹了編寫同時(shí)兼容Python2.x與Python3.x版本的代碼的幾個(gè)示例,在Python2.7.x的更新中由于采用了某些Python3中的代碼編寫特性、使得在有些原本不同之處編寫兼容性代碼成為可能,需要的朋友可以參考下2015-03-03python讀取當(dāng)前目錄下的CSV文件數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了python讀取當(dāng)前目錄下的CSV文件數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03Python?中的反轉(zhuǎn)字符串reversed(),切片
這篇文章主要介紹了Python?中的反轉(zhuǎn)字符串reversed(),切片?,以相反的順序反轉(zhuǎn)和處理字符串可能是編程中的一項(xiàng)常見任務(wù)。Python?提供了一組工具和技術(shù),可以幫助我們快速有效地執(zhí)行字符串反轉(zhuǎn),下面來看看具體內(nèi)容吧2021-12-12python項(xiàng)目打包成exe和安裝包的方法步驟
本文主要介紹了python項(xiàng)目打包成exe和安裝包的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03淺談PyTorch的可重復(fù)性問題(如何使實(shí)驗(yàn)結(jié)果可復(fù)現(xiàn))
今天小編就為大家分享一篇淺談PyTorch的可重復(fù)性問題(如何使實(shí)驗(yàn)結(jié)果可復(fù)現(xiàn)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python實(shí)現(xiàn)普通圖片轉(zhuǎn)ico圖標(biāo)的方法詳解
ICO是一種圖標(biāo)文件格式,圖標(biāo)文件可以存儲(chǔ)單個(gè)圖案、多尺寸、多色板的圖標(biāo)文件。本文將利用Python實(shí)現(xiàn)普通圖片轉(zhuǎn)ico圖標(biāo),感興趣的小伙伴可以了解一下2022-11-11