python:文件讀取與寫入案例

1 更改文件路徑(到數據源文件夾中)

import os
os.chdir('/Applications/MAMP/htdocs/python/day02')
print(os.getcwd())
print(os.listdir())

2 讀取文件

#將光標調整至首位
f.seek(0)
f=open('carport.txt','r',encoding='utf-8')

clipboard.png

3 作數據處理

data=[]
for i in f.readlines():
    a=i.split(':')
    name=a[0]
    b=a[1].split(',')
    x=b[0]
    y=b[1]
    loc=b[2]
    #d=[('name',name),('x',x),('y',y),('loc',loc)]
    d=zip(['name','x','y','loc'],[name,x,y,loc])
    #巧妙運用zip()函數;dict() 函數用於建立一個字典
    data.append(dict(d))
print(data[:5])

clipboard.png

4 寫入,保存到當前文件夾

w=open('carport2.txt','w',encoding='utf-8')
#遍歷列表,每條數據斷行
for i in range(len(data)):
data[i]=str(data[i])+'\n'
w.writelines(data)
#必須加上.close()關閉書寫模式 告訴w寫入結束
f_w.close()
print('done')

5 pickle模塊

它能夠序列化對象並保存到磁盤中,並在須要的時候讀取出來,任何對象均可以執行序列化操做python

# 存儲:pickle.dump(obj, file, [,protocol])
import pickle
pic=open('carport2.pkl','wb')
pickle.dump(data,pic)
pic.close()
print('done')

# 讀取:pickle.load(file)
f=open('carport2.pkl','rb')
st=pickle.load(f)
print(st)

clipboard.png

相關文章
相關標籤/搜索