python 5 文件
2023-02-27 16:14 作者:戎碼關(guān)山 | 我要投稿
文件讀寫&pickle&json&csv
#open & close
f = open("test.txt",'r')
i = 1
for line in f:
? ?print(i,' ===> ',line)
? ?i = i + 1
f.close()
#read 函數(shù)一次性讀取文件的全部?jī)?nèi)容,以單個(gè)字符串形式返回全部文件
f = open("test.txt",'r')
contents = f.read()
for word in contents:
? ?print(word)
f.close()
#realine函數(shù)逐行讀取
f = open("test.txt",'r')
line1 = f.readline()
print(line1)
line2 = f.readline()
print(line2)
for l in f:#從readline結(jié)束的位置開始訪問(wèn),有一個(gè)指針
? ?print(l)
f.close()
#readlines 一次性讀取多行,返回一個(gè)列表,每個(gè)元素是一行
f = open("test.txt",'r')
line = f.readlines()
print(line)
f.close()
#文件寫入write writeline writelines
#r只讀 ? w只寫 ? a只寫(追加)
#r+讀寫文件開始處 ? w+讀寫文件開始處 ? a+讀寫文件末尾
#wb ?rb ? 是讀寫二進(jìn)制文件專用的
s = 'welcome\nchina'
f = open("test.txt",'w+')
f.write(s)
lines = f.readlines()
print(lines)
#文件路徑
import os
print(os.getcwd())
path = "./code/tmp.txt" ? #當(dāng)前目錄下的code文件夾下的tmp
path = "../tmp.txt" ? #當(dāng)前目錄的父目錄文件夾下的tmp
#捕獲異常
try:
? ?f = open("tedst.txt",'r')
? ?for line in f:
? ? ? ?pass
except:
? ?print("file don't exist")
#pickle模塊
import pickle
f = open('test.pkl','wb')
d = "Tsinghua"
pickle.dump(d,f)
f.close()
newf = open('test.pkl','rb')
newt = pickle.load(newf)
print(newt)
#json模塊
import json
f = open('test.json','w')
d = "Tsinghua"
json.dump(d,f)
f.close()
newf = open('test.json','rb')
newt = json.load(newf)
print(newt)
#csv模塊,逗號(hào)分隔值文件,可以將excel文件保存為CSV格式,進(jìn)行逗號(hào)分隔
import csv
fcsv = open('test.csv','rU')
allcontent = []
csvobj = csv.reader(fcsv)
for l in csvobj:
? ?allcontent.append(l)
for l in allcontent:
? ?if l[0] != 'name':
? ? ? ?l.append(int(l[1])*int(l[2]))
? ?else:
? ? ? ?l.append('乘積')
with open('test.csv','w') as writeobj:
? ?writer = csv.writer(writeobj)
? ?for r in allcontent:
? ? ? ?writer.writerow(r)
with open('test.csv','r') as readobj:
? ?csvread = csv.reader(readobj)
? ?for l in csvread:
? ? ? ?print(l)
標(biāo)簽: