您好,登錄后才能下訂單哦!
這篇文章主要講解了python實現(xiàn)對文件進行切分行的方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
針對配置文件進行切分,重組,每隔30行為一段,進行重新生成功能。
代碼如下
#!/usr/local/python/bin/python # coding=utf-8 import sys import re import os f = open('config.conf','r') #判斷文件條數(shù) def file_num(filename): num_col = 0 with open(filename,'rb') as Fnum: while(Fnum.readline() !=''): num_col = num_col + 1 return num_col file_num = file_num('config.conf') print '文件總條數(shù):' + str(file_num) i = 0 #設(shè)置計數(shù)器 while i < file_num : #表示文件行數(shù) with open('/tmp/newfile/newfile'+str(i),'w') as f1: for j in range(0,30) : #這里設(shè)置每個子文件的大小 if i <= file_num : #這里判斷是否已結(jié)束,否則最后可能報錯 f1.writelines(f.readline()) i = i+1 else: break filepath2='/tmp/newfile/' def eachFile(filepath): num = 1 pathDir = sorted(os.listdir(filepath)) for allDir in pathDir: child = os.path.join('%s%s' % (filepath, allDir)) file_name = child.decode('gbk') print file_name with open('/tmp/check.py','a+') as f2: fopen = open(file_name, 'r+') f2.writelines("# config.py sql" + str(num) + " begin\n") count=0 for line in fopen.readlines(): if count == 0: f2.writelines(line) count= count+1 else: f2.writelines("UNION ALL " + line) f2.writelines("# config.py sql" + str(num) + " end\n") f2.writelines("\n") num = num + 1 eachFile(filepath2)
腳本說明:
目錄路徑:/tmp
配置文件:config.conf
準備目錄:/tmp/newfile/
最終新的配置文件為:check.py
看完上述內(nèi)容,是不是對python實現(xiàn)對文件進行切分行的方法有進一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。