導航:首頁 > 編程語言 > python文件處理

python文件處理

發布時間:2022-02-07 03:36:59

『壹』 python 文本文件處理

  1. 分隔日誌文件存為小文件

  2. #coding:utf-8

  3. #file: FileSplit.py

  4. import os,os.path,time

  5. def FileSplit(sourceFile, targetFolder):

  6. sFile = open(sourceFile, 'r')

  7. number = 100000 #每個小文件中保存100000條數據

  8. dataLine = sFile.readline()

  9. tempData = [] #緩存列表

  10. fileNum = 1

  11. if not os.path.isdir(targetFolder): #如果目標目錄不存在,則創建

  12. os.mkdir(targetFolder)

  13. while dataLine: #有數據

  14. for row in range(number):

  15. tempData.append(dataLine) #將一行數據添加到列表中

  16. dataLine = sFile.readline()

  17. if not dataLine :

  18. break

  19. tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + str(fileNum) + ".txt")

  20. tFile = open(tFilename, 'a+') #創建小文件

  21. tFile.writelines(tempData) #將列表保存到文件中

  22. tFile.close()

  23. tempData = [] #清空緩存列表

  24. print(tFilename + " 創建於: " + str(time.ctime()))

  25. fileNum += 1 #文件編號

  26. sFile.close()

  27. if __name__ == "__main__" :

  28. FileSplit("access.log","access")


分類匯總小文件:

#coding:utf-8

#file: Map.py


import os,os.path,re


def Map(sourceFile, targetFolder):

sFile = open(sourceFile, 'r')

dataLine = sFile.readline()

tempData = {} #緩存列表

if not os.path.isdir(targetFolder): #如果目標目錄不存在,則創建

os.mkdir(targetFolder)

while dataLine: #有數據

p_re = re.compile(r'(GET|POST)s(.*?)sHTTP/1.[01]',re.IGNORECASE) #用正則表達式解析數據

match = p_re.findall(dataLine)

if match:

visitUrl = match[0][1]

if visitUrl in tempData:

tempData[visitUrl] += 1

else:

tempData[visitUrl] = 1

dataLine = sFile.readline() #讀入下一行數據

sFile.close()


tList = []

for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):

tList.append(key + " " + str(value) + ' ')


tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + "_map.txt")

tFile = open(tFilename, 'a+') #創建小文件

tFile.writelines(tList) #將列表保存到文件中

tFile.close()


if __name__ == "__main__" :

Map("access\access.log1.txt","access")

Map("access\access.log2.txt","access")

Map("access\access.log3.txt","access")

3. 再次將多個文件分類匯總為一個文件。

#coding:utf-8

#file: Rece.py


import os,os.path,re


def Rece(sourceFolder, targetFile):

tempData = {} #緩存列表

p_re = re.compile(r'(.*?)(d{1,}$)',re.IGNORECASE) #用正則表達式解析數據

for root,dirs,files in os.walk(sourceFolder):

for fil in files:

if fil.endswith('_map.txt'): #是rece文件

sFile = open(os.path.abspath(os.path.join(root,fil)), 'r')

dataLine = sFile.readline()

while dataLine: #有數據

subdata = p_re.findall(dataLine) #用空格分割數據

#print(subdata[0][0]," ",subdata[0][1])

if subdata[0][0] in tempData:

tempData[subdata[0][0]] += int(subdata[0][1])

else:

tempData[subdata[0][0]] = int(subdata[0][1])

dataLine = sFile.readline() #讀入下一行數據

sFile.close()


tList = []

for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):

tList.append(key + " " + str(value) + ' ')


tFilename = os.path.join(sourceFolder,targetFile + "_rece.txt")

tFile = open(tFilename, 'a+') #創建小文件

tFile.writelines(tList) #將列表保存到文件中

tFile.close()


if __name__ == "__main__" :

Rece("access","access")

『貳』 python 對文件進行處理。

python for symbian 里有一個linechace庫,可以實現對文件每行的緩存,便於處理每一行的內容;
每行最後的32:T>G,34:G>A可以用正則表達式來處理。
*:linechace完全可以在任何Python環境使用。

『叄』 Python 文件處理的幾點注意事項

文件處理在編程中是常見的操作,文件的打開,關閉,重命名,刪除,追加,復制,隨機讀寫非常容易理解和使用。需要注意的是文件的安全關閉,採用with語句輕松便捷:
with open(pathname,」r」) as myfile:
do_some_with(myfile)

『肆』 python的文件處理

問題表述看不明白
感覺應該是用正則做

『伍』 PYTHON文件處理相關

search第一個參數擴展名,第二個參數根路徑

importos

defsearch(s,path=os.path.abspath('.')):
forzinos.listdir(path):
ifos.path.isdir(path+os.path.sep+z):
print('Currnet:',path)
path2=os.path.join(path,z)
print('future:',path2)
search(s,path2)
elifos.path.isfile(path+os.path.sep+z):
ifos.path.splitext(z)[1].upper()==s:
withopen(os.path.join(path,z),'r')asf:
withopen('新的.txt','a')asfw:
fw.write(f.read())
print(os.path.join(path,z))

search('.TXT','H:\TEMP')

『陸』 python小白 求助 讀取txt文件,並進行數據處理

讓寫代碼給5分,太沒誠意了,哈哈,不過還是給你吧,沒有測試過,你試試再說吧,執行的時候把最後一行的參數設置成你文件的存放位置就可以了

deffile_pro(file_dir):
importos
"""
輸入一個文件夾,文件夾下是所有待處理文件
:paramfile_dir:待處理的文件所在的文件夾
:return:null
"""
#獲取文件列表
file_list=os.listdir(file_dir)
#建立結果文件,與程序在同級目錄
result_file=open('result.csv','a+',encoding='GBK')
forfileinfile_list:
file_to_pro=file_dir+os.sep+file
result=[]
fornum,lineinenumerate(open(file_to_pro)):
ifnum>=32:
ifline.split('')[2]=='3CD':
result.clear()
result+=line.split('')[6:]
last_result=file_to_pro+',3CD,'
foriteminresult:
last_result+=(str(int(item,16))+',')
result_file.writelines(last_result)
file_pro("c:\")

『柒』 python文件操作問題

你好:

請看代碼:

txtpath1=r"a.txt"
txtpath2=r"b.txt"
txtpath3=r"c.txt"
txtpath4=r"d.txt"

fpa=open(txtpath1)
fpb=open(txtpath2)
fpc=open(txtpath3)
fpd=open(txtpath4,"w")

arrD=[]
forkkkinrange(50):
arrD.append(0)

defWriteD():
forkkkkinarrD:
fpd.write(str(kkkk))
fpd.write("")
fpd.write(" ")

arrC=[]
forlinecinfpc.readlines():
arrC.append(linec.replace(" ",""))

arrB=[]
forlinebinfpb.readlines():
arrB.append(lineb.replace(" ",""))

forlineainfpa.readlines():
flag=True
linea=linea.replace(" ","")
foriinrange(len(arrB)):
ifarrB[i]==linea:
printlinea
printarrB[i]
printarrC[i]
flag=False
fpd.write(linea)
fpd.write(" ")
fpd.write(arrC[i])
fpd.write(" ")
ifflag:
printlinea
fpd.write(linea)
fpd.write(" ")
WriteD()

print"Done!"
fpa.close()
fpb.close()
fpc.close()
fpd.close()

『捌』 python文件操作

我覺得要逐行的話最好這樣寫:

forlineinfo.readlines():

至於為什麼直接fo可以迭代出每行,應該是open函數返回值的內部實現和返回值類型決定的(應該在c代碼里,直接轉open定義看不見實現細節)。

『玖』 想問python能處理哪些類型的文件

可以處理doc(x) xls (x)ppt(x)等文件,有相關的庫,網路選一個。
文件格式基本上標准庫里有處理html xml json csv等的
其他差不多都有第三方模塊,題主自己搜索。

『拾』 Python中文件處理

#coding=gbk
LB = [ "張三","李四","王五","12345","abcdfg1233"]
# 把上面列表中 含"12"子串的元素存入文件 "C:\\1.txt"
f = open("C:\\1.txt","wt")
for s in LB:
if s.find("12")>=0: #選擇性寫入,就是條件判斷吧?
f.write( s+"\n")
f.close()
# 運行本程序後,查看 C:\1.txt
# 內容應為
# 12345
# abcdfg

閱讀全文

與python文件處理相關的資料

熱點內容
雲繳費app兌換碼在哪裡 瀏覽:623
聖地安列斯安卓版存檔怎麼用 瀏覽:201
在哪裡可以找到舊版本的app 瀏覽:373
一個客戶端如何連接多個伺服器 瀏覽:883
簡訊加密的作用 瀏覽:108
微型高壓空氣壓縮機 瀏覽:520
微信app如何翻譯視頻 瀏覽:860
考試前聽什麼歌解壓 瀏覽:474
哪個app充值可以用銀聯二維碼 瀏覽:566
女程序員和孩子玩 瀏覽:838
程序員蘇州武漢 瀏覽:754
大腳插件如何切換安卓 瀏覽:943
python課設製作年歷 瀏覽:405
明文在pdf 瀏覽:751
鄭永令pdf 瀏覽:122
cad命令行坐標輸入 瀏覽:781
編譯原理csdn博客 瀏覽:194
想在深圳買房關注哪個app 瀏覽:913
國際體驗服為什麼伺服器載入失敗 瀏覽:690
php介面用處 瀏覽:394