Python-文件相關操作
open()
open(filename, mode)
返回一個文件對象fileobject
f = open(filename, 'r')
f.close()
filename
是文件的路徑,mode
是打開的方式,有以下幾種
mode | function |
---|---|
r | 只讀 |
w | 只寫 |
a | 追加 |
r+ | 可讀寫 |
b | 以二進制方式打開 |
+
和b
可以和其它字符組合成mode,例如rb
以二進制只讀方式打開
mode
參數是可選的,如果沒有默認是r
Note:文件打開之後應當被及時關閉,可以查看f.closed
屬性以確定文件是否被關閉
with
使用with可以保證文件在結束with語句塊的時候被關閉
with open(filename, 'r') as f:
# do something
# 自動關閉
print(f.closed)
文件對象
方法
f.read(size)
讀取指定大小(單位byte)的數據,返回一個string,如果size未指定,則讀取全部數據
f.readline()
讀取一行,返回的string末尾有一個\n
如果想讀取多行,可以遍歷文件對象
for line in f:
print(line, end='')
讀取每一行作爲列表的元素可以用f.readlines()
或者list(f)
f.write(string)
將string寫入文件,返回寫入的字符數
f.tell()
返回一個指示當前文件對象位置的整數
f.seek(offset, from_what)
調整文件位置
offset是以from_what爲參考的偏移大小,可正可負
from_what有3個取值:
0–文件開頭
1–當前位置
2–文件結尾
如果省略from_what,則默認是0
例如:
f.seek(-1, 2) # 倒數第一個字符
f.seek(3) # 文件開始後的第四個字符
使用json存儲
可以使用json格式存儲python裏的數據,列表,元組和字典等。使用前需要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)
從文件讀入並解析對象