Python-文件相關(guān)操作
open()
open(filename, mode)
返回一個文件對象fileobject
f = open(filename, 'r')
f.close()
filename
是文件的路徑惕耕,mode
是打開的方式,有以下幾種
mode | function |
---|---|
r | 只讀 |
w | 只寫 |
a | 追加 |
r+ | 可讀寫 |
b | 以二進制方式打開 |
+
和b
可以和其它字符組合成mode塘慕,例如rb
以二進制只讀方式打開
mode
參數(shù)是可選的奥秆,如果沒有默認是r
Note:文件打開之后應(yīng)當被及時關(guān)閉,可以查看f.closed
屬性以確定文件是否被關(guān)閉
with
使用with可以保證文件在結(jié)束with語句塊的時候被關(guān)閉
with open(filename, 'r') as f:
# do something
# 自動關(guān)閉
print(f.closed)
文件對象
方法
f.read(size)
讀取指定大小的數(shù)據(jù)然磷,返回一個string摄欲,如果size未指定,則讀取全部數(shù)據(jù)
f.readline()
讀取一行疮薇,返回的string末尾有一個\n
如果想讀取多行胸墙,可以遍歷文件對象
for line in f:
print(line, end='')
讀取每一行作為列表的元素可以用f.readlines()
或者list(f)
f.write(string)
將string寫入文件,返回寫入的字符數(shù)
f.tell()
返回一個指示當前文件對象位置的整數(shù)
f.seek(offset, from_what)
調(diào)整文件位置
offset是以from_what為參考的偏移大小按咒,可正可負
from_what有3個取值:
0--文件開頭
1--當前位置
2--文件結(jié)尾
如果省略from_what,則默認是0
例如:
f.seek(-1, 2) # 倒數(shù)第一個字符
f.seek(3) # 文件開始后的第四個字符
使用json存儲
可以使用json格式存儲python里的數(shù)據(jù)迟隅,列表,元組和字典等励七。使用前需要import json
encode
json.dumps(object)
返回json格式的字符串智袭,例:
li = [1, 2, 3]
print(json.dumps(li))
---
[1, 2, 3]
json.dump(object, f)
將object存入文件
decode
object = json.load(f)
從文件讀入并解析對象