基于python實(shí)現(xiàn)對(duì)文件進(jìn)行切分行
針對(duì)配置文件進(jìn)行切分,重組,每隔30行為一段,進(jìn)行重新生成功能。
代碼如下
#!/usr/local/python/bin/python# coding=utf-8import sysimport reimport osf = 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è)置計(jì)數(shù)器while i < file_num : #表示文件行數(shù) with open(’/tmp/newfile/newfile’+str(i),’w’) as f1: for j in range(0,30) : #這里設(shè)置每個(gè)子文件的大小 if i <= file_num : #這里判斷是否已結(jié)束,否則最后可能報(bào)錯(cuò)f1.writelines(f.readline())i = i+1 else:breakfilepath1=’/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) + ' beginn') 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) + ' endn') f2.writelines('n') num = num + 1eachFile(filepath1)
腳本說明:
目錄路徑:/tmp
配置文件:config.conf
準(zhǔn)備目錄:/tmp/newfile/
最終新的配置文件為:check.py
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JS圖片懶加載庫VueLazyLoad詳解2. Java實(shí)現(xiàn)的迷宮游戲3. django queryset相加和篩選教程4. Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)5. 使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟6. idea設(shè)置提示不區(qū)分大小寫的方法7. Java PreparedStatement用法詳解8. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算9. Spring如何集成ibatis項(xiàng)目并實(shí)現(xiàn)dao層基類封裝10. IDEA 2020.1.2 安裝教程附破解教程詳解

網(wǎng)公網(wǎng)安備