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)
读取指定大小的数据,返回一个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)
从文件读入并解析对象